Forum Discussion
Altera_Forum
Honored Contributor
12 years ago --- Quote Start --- Now if you want to have the software from both CPUs in the flash you need to do at least a part of this job yourself. There are several solutions:[list][*]if both CPUs are executing the application from external RAM, you need to copy both applications from the flash to the external RAM. Again there are two methods:[list][*]keep CPU2 in reset, have CPU1 load both applications to RAM from the EPCS, and then start CPU2[*]have both CPUs read from the EPCS, but CPU2 must wait for CPU1 to be finished, and it must know where to look in the EPCS for its application[/list][*]if CPU1 uses an external RAM and CPU2 internal RAM (on-chip memory), then you can have CPU1 boot as usual with the default bootloader, and convert the CPU2's application to the .hex format. This .hex file can then be used in the Quartus project to initialize the on-chip memory, and the CPU2 can directly start on it once the FPGA is configured[/list] --- Quote End --- Dear Daixiwen, thanks for this information....
- I preferred the second option mentioned by you. Ok I am doing the following now, I have compiled Quartus II with Two NIOS Processors - One in SRAM and other in On-Chip... As u mentioned i converted the second ELF file to memory initialization file. I followed the method mentioned in this page (http://www.labbookpages.co.uk/fpgas/alterahowtos/simpleniosii.html) to copy the qip file of the memory initialization to Quartus.
- I used Flash programmer to add SOF and ELF file of the Processor (which was supposed to be on SRAM). I added ELF Offset = Size of SOF. (703664 bytes - i converted it to HEX and entered 0xABCB0 in ELF Offset) The Flash programming is completed without error.
- It is copying the SOF correctly, as i am able to see the outputs of the SOF. The flash is not getting copied in the desired location i guess as Processor outputs are not coming.