GigaDevice_test/FreeRTOS/source/portable/NetworkInterface/xilinx_ultrascale
Alexey Bazlaev 7ee6dc7527 First commit 2023-01-20 18:22:17 +07:00
..
NetworkInterface.c First commit 2023-01-20 18:22:17 +07:00
readme.md First commit 2023-01-20 18:22:17 +07:00
uncached_memory.c First commit 2023-01-20 18:22:17 +07:00
uncached_memory.h First commit 2023-01-20 18:22:17 +07:00
x_emacpsif.h First commit 2023-01-20 18:22:17 +07:00
x_emacpsif_dma.c First commit 2023-01-20 18:22:17 +07:00
x_emacpsif_hw.c First commit 2023-01-20 18:22:17 +07:00
x_emacpsif_hw.h First commit 2023-01-20 18:22:17 +07:00
x_emacpsif_physpeed.c First commit 2023-01-20 18:22:17 +07:00
x_topology.h First commit 2023-01-20 18:22:17 +07:00

readme.md

NetworkInterface for Xilinx' UltraScale+, running on Cortex A53, 64-bits

Please include the following source files:

$(PLUS_TCP_PATH)/portable/NetworkInterface/xilinx_ultrascale/NetworkInterface.c
$(PLUS_TCP_PATH)/portable/NetworkInterface/xilinx_ultrascale/uncached_memory.c
$(PLUS_TCP_PATH)/portable/NetworkInterface/xilinx_ultrascale/x_emacpsif_dma.c
$(PLUS_TCP_PATH)/portable/NetworkInterface/xilinx_ultrascale/x_emacpsif_physpeed.c
$(PLUS_TCP_PATH)/portable/NetworkInterface/xilinx_ultrascale/x_emacpsif_hw.c

And include the following source files from the Xilinx library:

$(PROCESSOR)/libsrc/emacps_v3_9/src/xemacps.c
$(PROCESSOR)/libsrc/emacps_v3_9/src/xemacps_control.c
$(PROCESSOR)/libsrc/emacps_v3_9/src/xemacps_g.c
$(PROCESSOR)/libsrc/emacps_v3_9/src/xemacps_intr.c

E.g. psu_cortexa53_0/libsrc/emacps_v3_9/src/xemacps_intr.c

The following source files are NOT used for the FreeRTOS+TCP interface:

$(PROCESSOR)/libsrc/emacps_v3_9/src/xemacps_bdring.c
$(PROCESSOR)/libsrc/emacps_v3_9/src/xemacps_hw.c
$(PROCESSOR)/libsrc/emacps_v3_9/src/xemacps_sinit.c

It is recommended to have these defined :

#define ipconfigDRIVER_INCLUDED_RX_IP_CHECKSUM 1

#define ipconfigDRIVER_INCLUDED_TX_IP_CHECKSUM 1

It is obligatory to define these in your FreeRTOSIPConfig.h :

#define ipconfigZERO_COPY_RX_DRIVER 1

#define ipconfigZERO_COPY_TX_DRIVER 1

Please link you project with BufferAllocation_1.c ( not xxx_2.c ).

The following option causes the memory of the network packets to be allocated in normal ( cached ) memory. With this option, TCP processing seems a faster than without this option.

#define nicUSE_UNCACHED_MEMORY 0