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

In-place boot on memory

ASeif
Beginner
925 Views

Hi,

I am using NIOS II with configuring it to execute in-place (not boot copier).

I have a off-chip memory of 128Mb which the program is located there.

 

Previously I use a off-chip memory of 16Mb. Currently I changed the off-chip memory to 128Mb. Without changing memory on "Serial Flash Controller" IP core from 16Mb to 128Mb and loading JIC file, everthing working good. It means when I program the FPGA with previous version of codes and SOPC settings everything is normal. But, after changing the Serial Flash Controller's configuration device from 16Mb to 128Mb and compiling everything (including generation of SOPC, Compiling hardware, Generating BSP, compiling NOIS II application, and downloading JIC file) device fails to configure and operate.

 

Any opinion is welcome...

0 Kudos
5 Replies
Ahmed_H_Intel1
Employee
572 Views

Hi Ali,

This is weird, are you sure this external memory doesn't have bad blocks? I recommend you change the serial flash controller settings to 64Mb and see if it will be working fine or not. If you still seeing the same issue then you might missing to update something in your design.

If you agree you can share with me a screenshots of the Qsys design and the Top level assignments.

Regards,

 

0 Kudos
ASeif
Beginner
572 Views

Hi Em_guy and thanks for your reply,

While programming I check the "Blank-Check" and no problem reported. The other point is that the memory I use is a new. Therefore bad block probably may not be the reason.

I attach the screenshots here for more inspection...

 

Snap 2019-08-28 at 18.54.11.png

Snap 2019-08-28 at 18.46.04.png

 

Snap 2019-08-28 at 18.45.40.png

Snap 2019-08-28 at 19.04.23.png

 

0 Kudos
Ahmed_H_Intel1
Employee
572 Views

Thanks for the shared screen-shots. Can you please share with us the linker script settings? this is the most important setting to define if you are going to use the boot copier or not.

In Eclipse write-click the BSP project the go to NIOS II>>BSP_editor>>select the Linker Script tab

  • set the .text item in the Linker Section Name to the QSPI flash in the Linker Region Name. Set the rest of the items in the Linker Section Name list to the Altera On-chip Memory (OCRAM)
  • Enable the following settings in Settings.Advanced.hal.linker: • allow_code_at_reset • enable_alt_load • enable_alt_load_copy_rodata • enable_alt_load_copy_rwdata • enable_alt_load_copy_ exceptions.

 

Regards,

 

0 Kudos
ASeif
Beginner
572 Views

Thanks for sharing you opinion.

The things you mentioned was OK, and I have set the right settings for 16Mb memory. That's why it works on 16Mb one, and also in this memory before changing memory size in setting.

As I said, when I download 16Mb memory's JIC file to this memory, it works! But when I change memory size in platform designer, it doesn't work.

I attach some BST editor's screenshots.

 

Snap 2019-08-29 at 12.17.15.png

 

Snap 2019-08-29 at 12.16.45.png

0 Kudos
Ahmed_H_Intel1
Employee
572 Views

Hi Ali Saif,

Can you please tell me the flash memory device number and the FPGA board you are using? I will try to replicate the issue and will open an internal case if we couldn't solve this. Actually I feel you didn't miss any thing and from my experience it isn't an issue and worked fine with me before several times. Please I need to know the Quartus version you are using as well.

Regards,

 

0 Kudos
Reply