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++
12590 Discussions

Within Eclipse, my attempt to build the project and BSP fails, apparently because alt_ic_isr_register() function is missing

CPric15
Beginner
627 Views

My Nios2 QSYS system includes an MSGDMA (Modular Scatter-Gather Direct Memory Access) IP module. The above function is called at initialisation by the driver for this module (altera_msgdma.c) to register its ISR. However, it doesn't appear to be visible because the build fails with the following error:

 

"...../drivers/src/altera_msgdma.c:1617: undefined reference to `alt_ic_isr_register'"

 

Can anyone possibly advise?

 

I am using Quartus 18.1.0 Build 625 09/12/2018 SH Standard Edition.

My target device is a Cyclone V (5CSEBA5U23C8).

 

Thanks in advance.

0 Kudos
4 Replies
Ahmed_H_Intel1
Employee
538 Views

Hi,

From the first look, it seems like incorrect inclusion. Can you please check the Header files included and check the following examples of using the mSGDMA IP?

I will attach the example in another comment.

0 Kudos
Ahmed_H_Intel1
Employee
538 Views

Please check the attached .

This is a simple design example that reads the ADC data and stream it via mSGDMA. Please let me know if you need more support.

Regards,

0 Kudos
CPric15
Beginner
538 Views

Hi Ahmed,

 

Thanks for your response. I have imported your project into the same Eclipse workspace as my own projects, and can report that both the associated BSP and the prokect itself both build without error. In comparing your project to mine, I note the following:

 

1) When I hover over the call to the problem function (alt_ic_isr_register) at line 1617 in altera_msgdma.c within your project the declaration of the function pops up. Then, when I hit F5 the file which contains it (alt_iic.c) appears. This doesn't happen when I do the same within my project.

 

2) In a version of my project (my current work-around) which does not include the MSGDMA IP, when I double click on the elf that is produced (under ./Binaries/) all the dependencies are listed, which include alt_iic.c, and I have verified that it is identical to the one in your project.

 

3) All the directories under 'Includes' are common to both projects.

 

So for some reason the driver file altera_mgdma.c in my project can't reference function alt_ic_isr_register() contained in alt_iic.c, yet the identical driver file in your project can. Can possibly suggest why this could be the case?

 

Regards,

 

Caleb.

0 Kudos
Ahmed_H_Intel1
Employee
538 Views

Hi,

Which Quartus version you are using?

Can you try to create your project over the one I shared with you, you can open the project and edit it to fit your preferences and then recompile it. Can you tell me what happens after doing that?

Best regards,

0 Kudos
Reply