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++
12596 Discussions

Arria 10 dev kit boot via epcq - software not loading

gcohe5
Novice
953 Views

hi

I'm trying to boot a Nios ii processor from EPCQ flash.

I followed the steps described in the following (page 252 and on):

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/nios2/edh_ed_handbook.pdf

 

I connected the reset vector to the EPCQ controller and the exception vector to a on chip memory:

 

vectors.PNG

 

 

when I try to convert the sof + epcq hex to jic , and use 'absolute addressing':

 

hex_prop.PNG

 

 

I get:

hex_out.PNG

 

why is this the address I'm seeing?

 

when I choose 'relative path' (and insert the appropriate address) I can convert to JIC but the software does not load from flash (HW does).

 

I think the issue is not with the software app itself since it does work when loading from JTAG.

 

any ideas what the issue may be?

 

thanks!

7 Replies
Ahmed_H_Intel1
Employee
687 Views

Hi,

I think you need to review page 261 the following section of the same document you shared:

"

Note: • You may select Relative addressing if you would like to set a relative address to the reset vector offset (0x01E00000) you configured earlier. For example, setting a start address of 0x01F00000 for the relative addressing mode changes the start address to 0x3D00000. • There is an issue for Absolute Addressing for EPCQ. Refer to this knowledge database for more details. 

"

plus, please check the available design examples here:

https://fpgacloud.intel.com/devstore/?search=epcq

https://fpgacloud.intel.com/devstore/platform/16.1.0/Standard/board-update-portal-utilizing-epcq-flash-memory-reference-design/

 

Regards,

0 Kudos
gcohe5
Novice
687 Views

hi

thanks for the answer.

 

I tried "relative addressing" inserting manually the address. Any address I give gets a '0x90000' offset (instead of the actual address I inserted in the ip parameter as I would expect from the note you posted).

When using 'relative addressing' , the JIC was generated and downloaded, but the SW does not work.

 

does the size of the On Chip memory influence this?

 

Also I noticed that in the reference design you posted the "Active serial clock source" (in: device and pin options -> Configuration) is set to 100M, where in the PDF I posted (page 256) this clock should be 25M.

 

BR

 

0 Kudos
Ahmed_H_Intel1
Employee
687 Views

Hi

you should put the exact address mentioned in the vectors of NIOS II.

The clock frequency shouldn't affect the address and booting,I see there is a page called boot info, can you remove it?

 

0 Kudos
gcohe5
Novice
687 Views

hi

eventually I ended up using the " Nios II Processor Application Copied from EPCQ Flash to RAM Using Boot Copier" option (page 263), that did work.

 

thanks again.

0 Kudos
Ahmed_H_Intel1
Employee
687 Views

Great to find the working procedure, do you still need help in the first procedure?

 

0 Kudos
gcohe5
Novice
687 Views

hi,

no, i'm doing it the other way now (copying EPCQ to RAM).

...but i do have some questions regarding the new method:

 

  1. I've found that in order for the SW to upload after power up the nios reset needs to be delayed for some cycles (no sure exactly how many), do you know why this is?
  2. I'm trying to configure the fpga with EPCQ (as described above) and booting linux with an sd card (when creating the boot file in bsp-editor I checked external_fpga_config box) when using the delay (== counter on top level holding the reset for the nios qsys enabled) the boot gets stuck and the linux does not load , do you know why this may be? can it be connected to the delay i'm implementing?

 

thanks!

0 Kudos
Ahmed_H_Intel1
Employee
687 Views

I have no idea why you put a delay on the NIOS II reset, BTW the main concern is the boot address, you must check the EPCQ flash datasheet to know the sectors inside this flash and know where exactly the correct address you should set to avoid overlay with .sof and give some buffer space to make the boot successful.

Regards,

0 Kudos
Reply