단순 소켓 서버 애플리케이션 예제에서는 이더넷 및 DMA 컨트롤러 이름의 이름 지정을 가정하는 드라이버를 사용합니다. 사용자 지정 프로젝트에서 사용자가 주변 장치에 다른 이름을 지정했을 수 있으며, 이로 인해 실행 시 단순 소켓 서버 참조가 제대로 작동하지 않을 수 있습니다.
이 문제를 해결하려면 다음 두 가지 옵션이 있습니다.
1. 이더넷 및 DMA 주변 장치의 이름을 다음과 일치하도록 수정합니다.
이더넷 코어 - TSE_MAC
DMA 코어 읽기 - SGDMA_TX
쓰기 DMA 코어 - SGDMA_RX
2. BSP 프로젝트에서 정의된 시스템에 -DTSE_MY_SYSTEM를 추가하고 tse_mac_device 항목을 올바르게 정의하는 함수를 만들고 TSE Max 및 DMA 컨트롤러 설정을 구현에 맞게 올바르게 이름을 지정합니다.
alt_tse_system_info tse_mac_device[최대값] = {
#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
};
이 문제는 Quartus® II 소프트웨어 이상에서 해결되었습니다.