Altera_Forum
Honored Contributor
19 years agoErasing/Programming EPCS via NIOS
I using a CYCLONE 1C12 with an EPCS 1C4 device. I have built a nios system and I am trying to download to my EPCS device via the JTAG. I have set the "Reset Address" to the EPCS_controller. I tried to download via the IDE Flash Programmer, it didn't work. Before I tried, I Programed the .SOF via the JTAG using the quartus programmer and was able to test some of the stand alone functionality of my logic (i.e. that was not micro-processor related). I then was able to download and run a simple program both into on board dual port ram and also SRAM and it ran correctly. However when I tried to download and store the code to the EPCS device I got the following errors :
# Programming flash with the FPGA configuration $SOPC_KIT_NIOS2/bin/nios2-flash-programmer --epcs --base=0x00060800 M4K1553PxIII.flash Using cable "ByteBlasterMV [LPT1]", device 1, instance 0x00 Resetting and pausing target processor: OK No EPCS layout data - looking for section [EPCS-202013] Unable to use EPCS device Leaving target processor paused # Programming flash with the project $SOPC_KIT_NIOS2/bin/nios2-flash-programmer --epcs --base=0x00060800 epcs_controller.flash Using cable "ByteBlasterMV [LPT1]", device 1, instance 0x00 Resetting and pausing target processor: OK No EPCS layout data - looking for section [EPCS-202013] Unable to use EPCS device Leaving target processor paused To check the connection between the CYCLCONE device and the EPCS I did a AS programming and I was able to configure the CYCLONE device using the .POF file successfully. Then I tried to simply erase the EPCS via the JTAG and EPCS bridge using the command below in the SDK shell. I received the following errors:- nios2-flash-programmer --epcs -base=0x00060800 --erase-all Using cable "ByteBlasterMV [LPT1]", device 1, instance 0x00 Resetting and pausing target processor: OK No EPCS registers found: tried looking at addresses 0x000000A, 0x000010A, 0x000020A, 0x000030A and 0x000040A Leaving target processor paused I carried out the same command with the --debug option and got the following results ......... ......... Looking for EPCS registers at addresses 0x0000000A (with 32bit alignment) intial values: xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx (where x = garbage) Not here:reserved fields are non-zero Looking for EPCS registers at addresses 0x0000010A (with 32bit alignment) intial values: xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx (where x = garbage) Not here:reserved fields are non-zero ......... ........ etc Does anyone have ANY ideas or suggestions ?From the messages that I got from teh debugger it seems that it is reading some memory somewhere. I checked the location of the EPCS controller in the SOPC builder and it was correct !