The Simple Socket Server application example uses drivers that make an assumption about the naming of the Ethernet and DMA controller names. In a custom project, the user may have given different names to the peripherals that would cause the Simple Socket Server reference to not function correctly when running.
To resolve this issue, there are two options:
1. Modify the names of the Ethernet and DMA peripherals to match the following:
Ethernet Core - TSE_MAC
Read DMA core - SGDMA_TX
Write DMA core - SGDMA_RX
2. In the BSP project, add -DTSE_MY_SYSTEM to your defined system and create a function to correctly define the tse_mac_device entry, filling in your TSE Max, and DMA controller settings to be named correctly for your implementation:
alt_tse_system_info tse_mac_device[MAXNETS] = {
#if ( defined(<TSE_MAC>_BASE) && defined( <SGDMA_TX>_NAME) && defined(<SGDMA_RX>_NAME) )
#ifdef DESCRIPTOR_MEMORY_BASE
TSE_SYSTEM_EXT_MEM_NO_SHARED_FIFO(<TSE_MAC>, 0, <SGDMA_TX>, <SGDMA_RX>,\
TSE_PHY_AUTO_ADDRESS, 0, DESCRIPTOR_MEMORY)
#else
TSE_SYSTEM_INT_MEM_NO_SHARED_FIFO(<TSE_MAC>, 0, <SGDMA_TX>, <SGDMA_RX>,\
TSE_PHY_AUTO_ADDRESS, 0)
#endif
#endif
};
This issue is fixed for the Quartus® II software and later.