Forum Discussion

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

Need help about flash programmer

I'm using QuartusII4.2+sp1,NiosII1.1,ByteBlasterII cable, and an EP1C12F324 on my custom board.

I built a flash programmer design as the "NiosII Flash Programmer user guide" instructs(I use a flash and an EPCS4), then I build my system with this board.

After every thing is done, I launch the flash programmer and want to program the software and the hardware image into epcs, it tells me that "Unrecognized EPCS device ID: -1". I'm sure that the EPCS and FPGA is OK, 'cause it can config my FPGA when I program the .pof into it.

What's wrong with my EPCS??

The following is the message from the Flash programmer:

<div class='quotetop'>QUOTE </div>

--- Quote Start ---

#! /bin/sh# # This file was automatically generated by the Nios II IDE Flash Programmer.# # It will be overwritten when the flash programmer options change.#

cd H:/Year2005/February/Feb21/System_case7/Test_case04/software/System_case7_tes

t_case04_soft2/Debug

# Creating .flash file for the FPGA configuration

$SOPC_KIT_NIOS2/bin/sof2flash --flash=U4 --offset=0x00000000 --epcs --input=H:/Y

ear2005/February/Feb21/System_case7/Test_case04/Test_case04.sof --output=Test_ca

se04.flash

Info: *******************************************************************

Info: Running Quartus II Convert_programming_file

Info: Command: quartus_cpf --no_banner --convert --device=EPCS16 --option=Test_c

ase04.opt H:/Year2005/February/Feb21/System_case7/Test_case04/Test_case04.sof Te

st_case04.pof

Info: Quartus II Convert_programming_file was successful. 0 errors, 0 warnings

Info: Processing ended: Wed Jun 08 18:01:31 2005

Info: Elapsed time: 00:00:01

Info: *******************************************************************

Info: Running Quartus II Convert_programming_file

Info: Command: quartus_cpf --no_banner --convert Test_case04.pof Test_case04.rpd

Info: Quartus II Convert_programming_file was successful. 0 errors, 0 warnings

Info: Processing ended: Wed Jun 08 18:01:32 2005

Info: Elapsed time: 00:00:01

WARNING: Default charset GBK not supported, using ISO-8859-1 instead

# Programming flash with the FPGA configuration

$SOPC_KIT_NIOS2/bin/nios2-flash-programmer --input=Test_case04.flash --sof=h:/Ye

ar2005/February/Feb21/System_case7/USB_Buf_Ver01/system/USB_Buf_Ver01.sof --epcs

Jun 8, 2005 6:01:33 PM - (??) nios2-flash-programmer: Launching Quartus Programm

er to download:

h:/Year2005/February/Feb21/System_case7/USB_Buf_Ver01/system/USB_Buf_Ver01.

sof

Unrecognized EPCS device ID: -1

Jun 8, 2005 6:01:52 PM - (??) nios2-flash-programmer: Error opening target hardw

are

Jun 8, 2005 6:01:52 PM - (??) nios2-flash-programmer: Unable to open flash-de

vice after successfully communicating

with target.

It is likely that you are using a flash-programming FPGA design which

was not created for your target board.

In order to program flash, you must first create a purpose-built

flash-programming design (i.e. FPGA configuration) and associate it with

your particular board. The Nios development kit is delivered with purpose-bui

lt

flash-programming designs pre-built for several development boards. If you wi

sh

to program flash on your own board, you must first create a flash-programming

design.

The process of creating a flash-programming design for your board is mostly

automated. From a bash-shell, execute this script:

mk_target_board --help

The help-message includes references to other documentation on programming

flash and targeting Nios systems to custom board designs.

- exiting.

WARNING: Default charset GBK not supported, using ISO-8859-1 instead

# Creating .flash file for the project

$SOPC_KIT_NIOS2/bin/elf2flash --flash=U9 --base=0x00400000 --end=0x800000 --rese

t=0x1000 --input=System_case7_test_case04_soft2.elf --output=cfi_flash_0.flash -

-boot=$SOPC_KIT_NIOS2/components/altera_nios2/boot_loader_cfi.srec

WARNING: Default charset GBK not supported, using ISO-8859-1 instead

# Programming flash with the project

$SOPC_KIT_NIOS2/bin/nios2-flash-programmer --input=cfi_flash_0.flash --sof=__NO_

SOF_PLEASE__ --base=0x00400000

Jun 8, 2005 6:01:52 PM - (??) nios2-flash-programmer: Input file empty--no data

to program into flash. Exiting.

WARNING: Default charset GBK not supported, using ISO-8859-1 instead

# Creating .flash file for the project

$SOPC_KIT_NIOS2/bin/elf2flash --flash=U4 --epcs --base=0x0 --end=0x7fffffff --in

put=System_case7_test_case04_soft2.elf --output=epcs_controller.flash --boot=$SO

PC_KIT_NIOS2/components/altera_nios2/boot_loader_epcs.srec

WARNING: Default charset GBK not supported, using ISO-8859-1 instead

# Programming flash with the project

$SOPC_KIT_NIOS2/bin/nios2-flash-programmer --input=epcs_controller.flash --sof=_

_NO_SOF_PLEASE__ --epcs

Jun 8, 2005 6:01:53 PM - (??) nios2-flash-programmer: SOF-download skipped.

Unrecognized EPCS device ID: -1Jun 8, 2005 6:02:01 PM - (??) nios2-flash-program

mer: Error opening target hardware

Jun 8, 2005 6:02:01 PM - (??) nios2-flash-programmer: Unable to open flash-de

vice after successfully communicating

with target.

It is likely that you are using a flash-programming FPGA design which

was not created for your target board.

In order to program flash, you must first create a purpose-built

flash-programming design (i.e. FPGA configuration) and associate it with

your particular board. The Nios development kit is delivered with purpose-bui

lt

flash-programming designs pre-built for several development boards. If you wi

sh

to program flash on your own board, you must first create a flash-programming

design.

The process of creating a flash-programming design for your board is mostly

automated. From a bash-shell, execute this script:

mk_target_board --help

The help-message includes references to other documentation on programming

flash and targeting Nios systems to custom board designs.

- exiting.

WARNING: Default charset GBK not supported, using ISO-8859-1 instead[/b]

--- Quote End ---

3 Replies

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

    RM,

    The "-1" return value means that the design cannot read the EPCS&#39;s silicon ID.

    Does the memtest software example (for EPCS) pass? If so, then you need to double check the command line used for &#39;mk_target_board&#39;, as the problem is likely with the SOF that this procedure created.

    Also, if at all possible, I&#39;d recommend updating/upgrading to Quartus II/Nios II 5.0.

    Cheers,

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

    I solved this problem.

    Originaly, in the mk_target_board design, I changed the asmi component into the epcs_controller,

    &#39;cause in NiosII the epcs_controller supersede the asmi component. Maybe I did not change the

    base address of epcs_controller to the asmi&#39;s, or something else. Then I kept the asmi component

    and did not use the epcs_controller.

    When I fixed this bug, new problem emerged. The flash programmer told me that it cannot synchonize with the target device.

    In previous posts, someone has mentioned that increasing the clk frequency may solve this problem. Then I upgrade the clk

    from 48M to 80M, then it works.

    Thank u.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Which flash are you using ?. Did you only change the PLL on your flash programmer target board, or did you change it also in the SOPC builder clock frequency ?.