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