Nios® II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
12408 Discussions

How to define CPU ID in multiprocessor design based on NIOS II CPU?

Altera_Forum
Honored Contributor II
902 Views

Hi,  

I have try this code in my NIOS code : 

 

printf("NIOS %d is waiting for control signal\n",ALT_CPU_CPU_ID_VALUE); 

 

I have implement 3 nios processor in my project. Why this ALT_CPU_CPU_ID_VALUE function always return 0 value? Each core always returned 0 values instead 1,2,3 ? 

 

it should be show this message : 

NIOS 0 is waiting for control signal 

NIOS 1 is waiting for control signal 

NIOS 2 is waiting for control signal 

 

However the fact , the message look like this : 

NIOS 0 is waiting for control signal 

NIOS 0 is waiting for control signal 

NIOS 0 is waiting for control signal 

 

Need for advice.. Thank you
0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
101 Views

ALT_CPU_CPU_ID_VALUE is nothing more than a# define in the "system.h" file of the BSP. It is not a function. 

 

You will need to create a different a BSP project for each NIOS processor in your design. This will result in a different ALT_CPU_CPU_ID_VALUE in each BSP. 

 

Alternatively, connect a different System ID peripheral to each NIOS processor, with the value set to match the CPU ID. You can then read the value of the peripheral instead of using the# define. That way it will be a run-time calculated value, not a compile time value.
Altera_Forum
Honored Contributor II
101 Views

Many thanks! It worked!

Reply