Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12589 Discussions

Nios - Simple Socket Sever template - can't compile

Altera_Forum
Honored Contributor II
2,601 Views

Hello Altera Forums, 

 

I'm trying to compile the Simple Socket Server (RGMII) in eclipse-nios, but the compile fails to find these files: 

 

altera_msgdma.h 

altera_msgdma_descriptor_regs.h 

altera_msgdma_prefetcher_regs.h 

altera_msgdma_csr_regs.h 

 

Here is the detailed output from the build attempt: 

 

12:05:51 **** Incremental Build of configuration Nios II for project simple_socket **** make all Info: Building ../simple_socket_bsp/ make --no-print-directory -C ../simple_socket_bsp/ Compiling alt_sys_init.c... nios2-elf-gcc -xc -MP -MMD -c -I./drivers/inc -I./drivers/inc/iniche -I./iniche/inc -I./iniche/src/h -I./iniche/src/h/nios2 -I./iniche/src/nios2 -I./UCOSII/inc -I./HAL/inc -I. -I./drivers/inc -pipe -D__hal__ -DALT_NO_INSTRUCTION_EMULATION -DALTERA_TRIPLE_SPEED_MAC -DALT_INICHE -D__ucosii__ -DALTERA_AUTONEG_TIMEOUT_THRESHOLD=2500 -DALTERA_CHECKLINK_TIMEOUT_THRESHOLD=10000 -DALTERA_NOMDIO_TIMEOUT_THRESHOLD=1000000 -DTSE_MY_SYSTEM -O0 -g -Wall -mno-hw-div -mhw-mul -mhw-mulx -mgpopt=global -o obj/alt_sys_init.o alt_sys_init.c In file included from ./drivers/inc/iniche/altera_eth_tse_iniche.h:36:0, from ./drivers/inc/altera_eth_tse.h:36, from alt_sys_init.c:66: ./drivers/inc/iniche/ins_tse_mac.h:34:27: fatal error: altera_msgdma.h: No such file or directory compilation terminated. make: *** Error 1 make: *** Error 2 12:05:51 Build Finished (took 165ms) 

 

 

I am running Quartus v17.1 and Nios II EDS v17.1.0.v20171026-1307 on a scientific linux 6.5 machine. I haven't run into any trouble running the hello world and counter binary examples. 

 

I have been following the instructions on this page: https://www.altera.com/en_us/pdfs/literature/tt/tt_nios2_tcpip.pdf 

 

I get the same error for the Simple Socket Server and Simple Socket Server (RGMII) templates. I have also tried the web server example and it failed for the same reason. 

 

I am able to find altera_msgdma.h using the 'find' command: 

> find ~/intelFPGA/ -name "altera_msgdma.h" ~/intelFPGA/17.1/ip/altera/altera_msgdma/top/HAL/inc/altera_msgdma.h 

 

Is it possible that something went wrong when I installed Quartus/Nios? I have tried searching these forums and the internet, but I haven't found any solution to the problem.
0 Kudos
4 Replies
Altera_Forum
Honored Contributor II
1,150 Views

I was able to solve this by downgrading to Quartus 16.1.

0 Kudos
Altera_Forum
Honored Contributor II
1,150 Views

The older design examples of simple socket server uses scatter-gather dma (sgdma) for the rx and tx interface with the triple speed ethernet (tse). However, the Simple socket server design template now assumes you used msgdma (modular sgdma) instead in your "Platform Designer", "Qsys", or "sopc builder," or whatever you want to call it. If you use the modular scatter-gather dma ip instead of the scatter-gather dma controller ip, it works in 17.1

0 Kudos
Altera_Forum
Honored Contributor II
1,150 Views

Thanks for the information. If I decide to move back to quartus 17.1, I'll give that a try.

0 Kudos
GBeck
Beginner
1,150 Views

I'm experiencing the same issue with trying to compile the Simple Socket Server example project using a Cyclone IV. Need to use Q17 or better to be able to use the EPCQ configuruation parts. Using an older version of Quartus is not an option. Replaced the SGDMA controllers with mSGDMA controllers. Must have not made the migration correctly since now the NIOS application crashes on configuring the Ethernet DMA descriptors. Does anyone have a reference design that successfully uses mSGDMA controllers using on-chip memory for the packet memory and rx/tx descriptors?

0 Kudos
Reply