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

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

Altera_Forum
Honored Contributor II
1,312 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
511 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.
0 Kudos
Altera_Forum
Honored Contributor II
511 Views

Many thanks! It worked!

0 Kudos
Reply