Forum Discussion

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

Nios2-flash-programmer can't find EPCQ512 of Statix V

Hi,

I have a Statix V & EPCQ512 in my design,

the Nios(Gen2) image locating in the EPCQ @ offset 0x3000000

I've connected Altera Serial Flash Controller to the Nios.

the clock sink of the Flash controller is 20MHz (less than 25MHz as requested), and the Nios Processor is running on 110MHz. as shown below:

http://www.alteraforum.com/forum/attachment.php?attachmentid=11945&stc=1

My Nios software locate in EPCQ offset 0x300000 and the vectors set to :

http://www.alteraforum.com/forum/attachment.php?attachmentid=11946&stc=1

I've create JIC file with the follow settings:

http://www.alteraforum.com/forum/attachment.php?attachmentid=11947&stc=1

When I'm Burning the EPCQ by using JIC, everything is Normal

the default bootloader of the Nios, copy the image from the EPCQ to the DDR and run the application, so far so good.

Now, I'm trying to burn only the Nios image in the EPCQ, for FW upgrade.

I'm using nios2-flash-programmer command line or Nios II Flash Programmer Tool.

I'm converting the elf to flash file by using:

elf2flash --input="D:/app.elf" --output="D:/app.flash" --boot="nios2eds/components/altera_nios2/boot_loader_cfi.srec" --base=0x10000000 --end=0x14000000 --reset=0x13000000 --verbose

and programming the the flash by using:

nios2-flash-programmer "D:/app.flash" --base=0x10000000 --accept-bad-sysid --device=1 --instance=0 '--cable=USB-Blaster on torenpc [USB-1]' --program --verbose

I'm getting the follow error: No CFI table found at address 0x10000000

Do I missing something?

I also follow the application note AN-736 (Nios II Processpr Bootoing From Serial Flash (EPCQ)

2 Replies

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

    You need the --epcs to specify it is a EPCS/EPCQ rather than CFI flash.

    For example:

    $nios2-flash-programmer "REMOTE_epcq_controller_0_avl_mem.flash" --base=0x0 --sidp=0x2081060 --id=0x55 --timestamp=1469019010 --device=1 --instance=0 '--cable=USB-Blaster on localhost [USB-0]' --program --verbose --erase-all

    You also could use this for testing

    $ nios2-flash-programmer --epcs --base=0 --debug

    I hope you do not get "No EPCS registers found" kind of errors. see below.

    Using cable "USB-Blaster [USB-0]", device 1, instance 0x00

    Resetting and pausing target processor: OK

    Processor data bus width is 32 bits

    Looking for EPCS registers at address 0x00000000 (with 32bit alignment)

    Initial values: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF

    Not here: reserved fields are non-zero

    Looking for EPCS registers at address 0x00000100 (with 32bit alignment)

    Initial values: FFFF8F98 FFFFAF1B FFFFAF90 FFFFCFF2 FFFFEF19 FFFF2F18

    Not here: reserved fields are non-zero

    Looking for EPCS registers at address 0x00000200 (with 32bit alignment)

    Initial values: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF

    Not here: reserved fields are non-zero

    Looking for EPCS registers at address 0x00000300 (with 32bit alignment)

    Initial values: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF

    Not here: reserved fields are non-zero

    Looking for EPCS registers at address 0x00000400 (with 32bit alignment)

    Initial values: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF

    Not here: reserved fields are non-zero

    No EPCS registers found: tried looking at addresses

    0x00000000, 0x00000100, 0x00000200, 0x00000300 and 0x00000400

    Leaving target processor paused