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

Flash-Programmer problem after update to NIOS 1.1

Altera_Forum
Honored Contributor II
1,334 Views

After updating my design from Quartus 4.1 / NiosII 1.01 to Quartus 4.2 / NiosII 1.1, I couldn't programm it to EPCS completely. This worked fine under my previous installation. 

The appropriate main parts of my design are a EPCS4, cyclone EP1C12, and 1MB external SRAM (avalon-tristate-slave) and no additional Flash because the final firmware is loaded via a PCI-Bus and a separate Avalon-Master (actually disabled). My cpu has set its Restart-Address to EPCS-controller and Exception-Address to SRAM, software compiling is done with setting all three sections to SRAM. The result is verified in objdump file (All firmware is linked to the address specified in SOPC-Builder). 

My FPGA-design is named 'ComMan.pof' with EPCS4 assigned to U4, my custom board is 'CM_Board', my firmware (a own PCI-Bootloader) is located in .../CM_Boot/Debug. 

Starting flash-programmer from NIOS-IDE produces the following output: 

cd D:/Projects/CMNios/Firmware/CM_Boot/Debug # Creating .flash file for the FPGA configuration $QUARTUS_ROOTDIR/NIOS_11/bin/sof2flash --flash=U4 --offset=0x00000000 --epcs --i nput=D:/Projects/CMNios/FPGA/ACT/ComMan.sof --output=ComMan.flash Info: ******************************************************************* Info: Running Quartus II Convert_programming_file Info: Command: quartus_cpf --no_banner --convert --device=EPCS16 --option=ComMan .opt D:/Projects/CMNios/FPGA/ACT/ComMan.sof ComMan.pof Info: Quartus II Convert_programming_file was successful. 0 errors, 0 warnings    Info: Processing ended: Fri Jan 14 12:03:37 2005    Info: Elapsed time: 00:00:01 Info: ******************************************************************* Info: Running Quartus II Convert_programming_file Info: Command: quartus_cpf --no_banner --convert ComMan.pof ComMan.rpd Info: Quartus II Convert_programming_file was successful. 0 errors, 0 warnings    Info: Processing ended: Fri Jan 14 12:03:38 2005    Info: Elapsed time: 00:00:01 # Programming flash with the FPGA configuration $QUARTUS_ROOTDIR/NIOS_11/bin/nios2-flash-programmer --input=ComMan.flash --sof=D :/Projects/CMNios/FPGA/ACT/CM_Board/system/CM_Board.sof --epcs 14.01.2005 12:03:39 - (INFO) nios2-flash-programmer: Launching Quartus Programme r to download:     D:/Projects/CMNios/FPGA/ACT/CM_Board/system/CM_Board.sof Pre-Reading 148KBytes of data from U4:    |----.----+----.----|    ********************* (14.438 sec). Writing 64KBytes :    |----.----+----.----|    ********************* (3.813 sec). Verifying 64KBytes of data:    |----.----+----.----|    ********************* (3.593 sec). 14.01.2005 12:04:13 - (INFO) nios2-flash-programmer: Success. Verified 64Kbytes written to U4. 14.01.2005 12:04:13 - (INFO) nios2-flash-programmer: Flash programming complete # Creating .flash file for the project $QUARTUS_ROOTDIR/NIOS_11/bin/elf2flash --flash=U4 --epcs --base=0x0 --end=0x7fff ffff --input=CM_Boot.elf --output=epcs_controller.flash --boot=$QUARTUS_ROOTDIR/ NIOS_11/components/altera_nios2/boot_loader_epcs.srec # Programming flash with the project $QUARTUS_ROOTDIR/NIOS_11/bin/nios2-flash-programmer --input=epcs_controller.flas h --sof=__NO_SOF_PLEASE__ --epcs 14.01.2005 12:04:14 - (INFO) nios2-flash-programmer: SOF-download skipped. Pre-Reading 63KBytes of data from U4:    |----.----+----.----|    ********************* (7.75 sec). Writing 64KBytes :    |----.----+----.----|    ********************* (3.75 sec). Verifying 64KBytes of data:    |----.----+----.----|    ********************* (3.891 sec). 14.01.2005 12:04:34 - (INFO) nios2-flash-programmer: Success. Verified 64Kbytes written to U4. 14.01.2005 12:04:34 - (INFO) nios2-flash-programmer: Flash programming complete  

After power Off/On I see that EPCS4 is accessed for about 65msec. With Signal-Tap I've checked that the fpga has now its new configuration loaded and reset_n is released when clock is stable (PLL locked the first time). But there is not any access (CS) to my SRAM as I expected to copy firmware from EPCS to SRAM. 

 

Has anybody an explanation? 

Thanks in advance 

Mike
0 Kudos
6 Replies
Altera_Forum
Honored Contributor II
404 Views

Hi MiR, 

 

look at the errata page, there is a patch for the problem. 

 

http://www.altera.com/support/ip/processor...vkit1.1-er.html (http://www.altera.com/support/ip/processors/nios2/ips-nios2_devkit1.1-er.html

 

Hope that helps! 

 

damc
0 Kudos
Altera_Forum
Honored Contributor II
404 Views

 

--- Quote Start ---  

originally posted by mir@Jan 14 2005, 06:40 AM 

after updating my design from quartus 4.1 / niosii 1.01 to quartus 4.2 / niosii 1.1, i couldn't programm it to epcs completely. this worked fine under my previous installation. 

the appropriate main parts of my design are a epcs4, cyclone ep1c12, and 1mb external sram (avalon-tristate-slave) and no additional flash because the final firmware is loaded via a pci-bus and a separate avalon-master (actually disabled). my cpu has set its restart-address to epcs-controller and exception-address to sram, software compiling is done with setting all three sections to sram. the result is verified in objdump file (all firmware is linked to the address specified in sopc-builder). 

my fpga-design is named 'comman.pof' with epcs4 assigned to u4, my custom board is 'cm_board', my firmware (a own pci-bootloader) is located in .../cm_boot/debug. 

starting flash-programmer from nios-ide produces the following output: 

cd d:/projects/cmnios/firmware/cm_boot/debug # creating .flash file for the fpga configuration $quartus_rootdir/nios_11/bin/sof2flash --flash=u4 --offset=0x00000000 --epcs --i nput=d:/projects/cmnios/fpga/act/comman.sof --output=comman.flash info: ******************************************************************* info: running quartus ii convert_programming_file info: command: quartus_cpf --no_banner --convert --device=epcs16 --option=comman .opt d:/projects/cmnios/fpga/act/comman.sof comman.pof info: quartus ii convert_programming_file was successful. 0 errors, 0 warnings    info: processing ended: fri jan 14 12:03:37 2005    info: elapsed time: 00:00:01 info: ******************************************************************* info: running quartus ii convert_programming_file info: command: quartus_cpf --no_banner --convert comman.pof comman.rpd info: quartus ii convert_programming_file was successful. 0 errors, 0 warnings    info: processing ended: fri jan 14 12:03:38 2005    info: elapsed time: 00:00:01 # programming flash with the fpga configuration $quartus_rootdir/nios_11/bin/nios2-flash-programmer --input=comman.flash --sof=d :/projects/cmnios/fpga/act/cm_board/system/cm_board.sof --epcs 14.01.2005 12:03:39 - (info) nios2-flash-programmer: launching quartus programme r to download:     d:/projects/cmnios/fpga/act/cm_board/system/cm_board.sof pre-reading 148kbytes of data from u4:    |----.----+----.----|    ********************* (14.438 sec). writing 64kbytes :    |----.----+----.----|    ********************* (3.813 sec). verifying 64kbytes of data:    |----.----+----.----|    ********************* (3.593 sec). 14.01.2005 12:04:13 - (info) nios2-flash-programmer: success. verified 64kbytes written to u4. 14.01.2005 12:04:13 - (info) nios2-flash-programmer: flash programming complete # creating .flash file for the project $quartus_rootdir/nios_11/bin/elf2flash --flash=u4 --epcs --base=0x0 --end=0x7fff ffff --input=cm_boot.elf --output=epcs_controller.flash --boot=$quartus_rootdir/ nios_11/components/altera_nios2/boot_loader_epcs.srec # programming flash with the project $quartus_rootdir/nios_11/bin/nios2-flash-programmer --input=epcs_controller.flas h --sof=__no_sof_please__ --epcs 14.01.2005 12:04:14 - (info) nios2-flash-programmer: sof-download skipped. pre-reading 63kbytes of data from u4:    |----.----+----.----|    ********************* (7.75 sec). writing 64kbytes :    |----.----+----.----|    ********************* (3.75 sec). verifying 64kbytes of data:    |----.----+----.----|    ********************* (3.891 sec). 14.01.2005 12:04:34 - (info) nios2-flash-programmer: success. verified 64kbytes written to u4. 14.01.2005 12:04:34 - (info) nios2-flash-programmer: flash programming complete  

after power off/on i see that epcs4 is accessed for about 65msec. with signal-tap i've checked that the fpga has now its new configuration loaded and reset_n is released when clock is stable (pll locked the first time). but there is not any access (cs) to my sram as i expected to copy firmware from epcs to sram. 

 

has anybody an explanation? 

thanks in advance 

mike 

--- Quote End ---  

 

In our case the generated script defined a wrong EPCS device type (EPCS16 i.s.o. EPCS4).  

 

quartus_cpf --no_banner --convert --device=EPCS16 --option=ComMan 

.opt D:/Projects/CMNios/FPGA/ACT/ComMan.sof ComMan.pof 

 

We fixed it by modifying the script .
0 Kudos
Altera_Forum
Honored Contributor II
404 Views

 

--- Quote Start ---  

originally posted by damc@Jan 14 2005, 12:54 PM 

hi mir, 

 

look at the errata page, there is a patch for the problem. 

 

http://www.altera.com/support/ip/processor...vkit1.1-er.html (http://www.altera.com/support/ip/processors/nios2/ips-nios2_devkit1.1-er.html

 

hope that helps! 

 

damc 

--- Quote End ---  

 

Hi damc, 

 

You were right. Great help. Thanks a lot. 

 

Mike
0 Kudos
Altera_Forum
Honored Contributor II
404 Views

 

--- Quote Start ---  

originally posted by kwokwong@Jan 14 2005, 04:06 PM 

in our case the generated script defined a wrong epcs device type (epcs16 i.s.o.  epcs4).  

                                                                              | 

                                                                              v 

quartus_cpf --no_banner --convert --device=epcs16 --option=comman 

.opt d:/projects/cmnios/fpga/act/comman.sof comman.pof 

 

we fixed it by modifying the script . 

--- Quote End ---  

 

Hi kwokwong, 

 

I've seen this also. But it seems not to be a problem. It runs after applying the patch even EPCS16 is selected. 

 

Thanks 

Mike
0 Kudos
Altera_Forum
Honored Contributor II
404 Views

Have you patched the script to refer to EPCS4. (you do have EPCS4 on your board?) 

 

We have to replace sof2flash command by two quartus_cpf comands!
0 Kudos
Altera_Forum
Honored Contributor II
404 Views

 

--- Quote Start ---  

originally posted by kwokwong@Jan 14 2005, 04:34 PM 

have you patched the script to refer to epcs4. (you do have epcs4 on your board?) 

--- Quote End ---  

 

Hi kwokwong, 

 

Yes, I have a EPCS4 on board. This message '--device=EPCS16' is generated from the call to 'sof2flash' and is a default parameter I think. As long as my design fits in a EPCS4 I will ignore this message. Until now I see no necessity to patch the script. 

 

Regards 

Mike
0 Kudos
Reply