Forum Discussion
5 Replies
- Altera_Forum
Honored Contributor
You don't need to do that. Make a single elf file and use the system Id field in the Nios dialogin QSYS to have the two processor do different things based on their Id.
- Altera_Forum
Honored Contributor
interesting utilization , how to use the system ID field?
- Altera_Forum
Honored Contributor
In the QSYS advanced features tab for the NIOS processor make sure "Assign cpuid control register value manually" is checked (it should be checked by default). Use different values for your two processors (1 and 2 say). Give both processors the same reset and exception vectors.
In your code, read the value of the cpuid register. A different value will be returned depending on which processor is running. In other words, each processor has a cpuid register that you set in qsys. When your code reads that register, each processor will return the value you set for that processor in qsys. - Altera_Forum
Honored Contributor
Thank you for your reply. But how can I make a single elf file from the 2 *.elf file?
- Altera_Forum
Honored Contributor
As I said before, don't make 2 elf files. Make one elf file only. In your code have something like:
main() { if (value of sysid register == 1) // Look up how to get this in the Nios documentation processor1_main() else processor2_main() }