Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
21 years ago

Flash-Programmer problem after update to NIOS 1.1

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

6 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- 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).

    |

    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 .
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- 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
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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!
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- 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