05-26-2015 01:26 PM
Hi.I have been searching around in the forum. I found a few discussions regarding the flash programmer issues. I have found the NiosII Flash Programmer Guide and the EPCS IP differs from the one in Quartus II V14.0. The one used in the user guide does not have either irq or conduit. ??? I suspect the conduit is an ISP programming interface. But do I need to use it? If so,, how?? My School project is a two core hardware. So there are two elf files to add in the configuration memory. Anyway, I followed the user guide and get an error 8 in the flash programmer. See the errors below. (Would be nice if somebody could share me a proper guide.) BR Terje. Info: 2015-maj-26 14:54:40 - (INFO) elf2flash: args = --input=C:/Users/Boss/Documents/Altera/DW12/software/main_core/main_core.elf --output=C:/Users/Boss/Documents/Altera/DW12/software/main_core_bsp/flash/main_core_epcs_flash_controller_0.flash --epcs --verbose Info: 2015-maj-26 14:54:40 - (FIN) elf2flash: Starting Info: 2015-maj-26 14:54:40 - (FINARE) elf2flash: Program Record: 64176 bytes destined for 0x0 Info: 2015-maj-26 14:54:40 - (FINARE) elf2flash: Program Record: 7344 bytes destined for 0x11760 Info: 2015-maj-26 14:54:40 - (FINARE) elf2flash: Start Record: 228 Info: 2015-maj-26 14:54:40 - (FIN) elf2flash: Done Info: Using cable "USB-Blaster [USB-0]", device 1, instance 0x00 Info: Resetting and pausing target processor: OK Info: Reading System ID at address 0x020021A0: verified Info: Processor data bus width is 32 bits Info: Looking for EPCS registers at address 0x02001000 (with 32bit alignment) Info: Initial values: 0001703A 04C00074 9801483A 9CFFF804 983FFD1E 0000203A Info: Not here: reserved fields are non-zero Info: Looking for EPCS registers at address 0x02001100 (with 32bit alignment) Info: Initial values: 93000237 6300080C 603FFD26 90000335 A8000C26 03010004 Info: Not here: reserved fields are non-zero Info: Looking for EPCS registers at address 0x02001200 (with 32bit alignment) Info: Initial values: 02C02004 002EE03A 00000F06 90000335 4000683A 0017883A Info: Not here: reserved fields are non-zero Info: Looking for EPCS registers at address 0x02001300 (with 32bit alignment) Info: Initial values: 003FD006 5280040C 501496FA 701CD07A 729CB03A 843FFFC4 Info: Not here: reserved fields are non-zero Info: Looking for EPCS registers at address 0x02001400 (with 32bit alignment) Info: Initial values: 00000000 00000000 00000260 00000000 00000000 00000001 Info: Valid registers found Info: EPCS signature is 0x00 Info: EPCS identifier is 0x000000 Info: No EPCS layout data - looking for section [EPCS-000000] Info: Unable to use EPCS device Info: Leaving target processor paused Error: Error code: 8 for command: nios2-flash-programmer "C:/Users/Boss/Documents/Altera/DW12/software/main_core_bsp/flash/main_core_epcs_flash_controller_0.flash" --base=0x2001000 --epcs --sidp=0x20021A0 --id=0x1111 --timestamp=1432640681 --device=1 --instance=0 '--cable=USB-Blaster on localhost [USB-0]' --program --verbose
05-29-2015 07:52 AM
Hi Experts.I Finally solved several of my problems. I found out what to do with the conduit. I can now flash program the software to the configuration memory. But the code will not start, and it looks like configuration memory looses the SOF data. Because the leds on the board starts to glow in the same way when the leds are unused. And I flash program two times because of the dual-core construction. I have one IP epcs-flash-programmer in the hardware construction connected to both CPU-cores. Am I missing something? What do I do wrong?
06-01-2015 01:33 PM
Hi Experts.Altera Forums seems to be dead :) . Anyway I'll post my latest results. sof2flash --epcs --input=project.sof --output=project.flash elf2flash --epcs after=prokect.flash --input=firmware.elf --output=firmware.flash cat project.flash firmware.flash > hwsw.flash nios2-elf-objcopy -I srec -O ihex hwsw.flash hwsw.hex The firmware should be loaded to address 0x20000 in the onchip fpga memory in this test. It looks like the hardware works, but the software does not start. Shouldnt nios2-elf-objcopy fix this? Or am I missing something? I suspect the code ends up in the wrong place :-/
06-02-2015 10:57 AM
I had a project which I wanted to run from flash and I have managed to come up with the following procedure.
- Start Quartus and then Qsys. From Qsys menu start the NIOS II Shell. If you do it from the Windows start menu it will not work as there is a bug in version 13.1, which results in the process finishing without an indication that it did not actually work.
- In the shell go to the location where the flash files are.
- Execute the following command: nios2-flash-programmer --debug --base=0x02011000 --epcs hw.flash
- The command above will program the flash with the NIOS system and will also give you the exact address of the flash controller, note this down. Power cycle the board and try to stick some code on it to verify that the NIOS is starting up okay.
- Execute the following command to flash the application software. nios2-flash-programmer --epcs --debug --base=<base addr in hex that you wrote down> sw.flash
- Have fun.