Проблема такая: не могу запустить simple_socket_server.
На плате стоит Cyclone IV GX + SFP. при запуске проекта symple_socket_server с dhcp ниос зависает на функции alt_avalon_sgdma_do_sync_transfer
Код
/*
* Set up SGDMA controller to:
* - Disable interrupt generation
* - Run once a valid descriptor is written to controller
* - Stop on an error with any particular descriptor
*/
IOWR_ALTERA_AVALON_SGDMA_CONTROL(dev->base,
(ALTERA_AVALON_SGDMA_CONTROL_RUN_MSK |
ALTERA_AVALON_SGDMA_CONTROL_STOP_DMA_ER_MSK |
IORD_ALTERA_AVALON_SGDMA_CONTROL(dev->base)) );
/* Wait for the descriptor (chain) to complete */
while ( (IORD_ALTERA_AVALON_SGDMA_STATUS(dev->base) &
ALTERA_AVALON_SGDMA_STATUS_BUSY_MSK) );
* Set up SGDMA controller to:
* - Disable interrupt generation
* - Run once a valid descriptor is written to controller
* - Stop on an error with any particular descriptor
*/
IOWR_ALTERA_AVALON_SGDMA_CONTROL(dev->base,
(ALTERA_AVALON_SGDMA_CONTROL_RUN_MSK |
ALTERA_AVALON_SGDMA_CONTROL_STOP_DMA_ER_MSK |
IORD_ALTERA_AVALON_SGDMA_CONTROL(dev->base)) );
/* Wait for the descriptor (chain) to complete */
while ( (IORD_ALTERA_AVALON_SGDMA_STATUS(dev->base) &
ALTERA_AVALON_SGDMA_STATUS_BUSY_MSK) );
При запуске на альтеровской "Cyclone IV GX Transceiver Starter Kit" +SFP (марвелловский контроллер отключен, TX/RX с трансивера прямо на SFP) все работает. отличий в железе со стороны ethernet'a не замечено. В чем проблема не знаю. На своей плате использую ту же систему (qsys) что и КИТе с адаптацией под свою плату. Без dhcp все задачи запускаются, но пинга все равно нет.
ps. проверяю как на оптике, так и на меди(тоже в колодке SFP).