Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20688 Discussions

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

Altera_Forum
Honored Contributor II
1,303 Views

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)  

0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
347 Views

Hi 

 

did you ever solve this problem 

 

thank you
0 Kudos
Altera_Forum
Honored Contributor II
347 Views

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
0 Kudos
Reply