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

HPS QSPI BOOTING

AKb
Beginner
5,055 Views

Hello,

I have a custom board with cyclone V SOC . I have a 1Gbit QSPI flash attached to the HPS portion of SOC. I want to boot the HPS with qspi flash. I able to do it debug mode. But not able to do it in program mode. what i mean is that i am able to load the rbf files into the qspi flash and read back this files and program the fpga successfully in debug mode. But when i try to do it program mode it is not working. I have generated preloader_-mkpimage.bin file with all the necesssary settings as mentioned in HPS qspi boot guide documentation. i load this preloader-mkpimage in 0x00000000 address of QSPI flash using the commands in SOC Command shell. then i load my application bin file generated after compilation of my design at 0x60000 address of flash by using commands in SOC EDS Command shell. Both this operation is successfull. MSEL pins are correctly selected for QSPI Boot. When i reboot the equipment the system is not booting. Am i missing certain settings at bsp generation or in make file or the linker file. Please specify.

 

 

Regards

Avi

0 Kudos
8 Replies
Ahmed_H_Intel1
Employee
2,321 Views

Hi,

Please check first if the QSPI flash device is compatible with Intel's FPGA/SoC. Please check the following list of the supported devices for Cyclone V SoC.

https://www.intel.com/content/www/us/en/programmable/support/support-resources/supported-flash-devices-for-cyclone-v-and-arria-v-soc.html

 

There are some devises are Known to work, Tested and supported by Intel, and Known to work with modification required for UBoot.

 

Regards.

0 Kudos
AKb
Beginner
2,321 Views

Hi,thanks for the reply. I will check whether it is compatible or not. I am almost sure it is compatible with intel fpga/soc. The thing is that i am able to write and read to flash in debug mode. its only when i load the preloader-mkpimage.bin file into the 0x00000000 address of qspi flash and load my baremetal application image generated after using certain commands(i dont really understand that command) at the 0x60000 address of qspi flash. both this operation is successfull. after cold reset it should boot from the qspi flash using preloader stored in flash. but its not happenning. please guide. should i give some offset for baremetal image?

 

 

0 Kudos
AKb
Beginner
2,321 Views

Hi ,

 

I checked. the flash is compatible with cyclone V soc. my process is as follows. My code works fine in debug mode. i want the system to boot from qspi with my application baremetal image on top of preloader. no uboot or OS here.

My process is as follows.

  1. Using bsp editor i generator i generate preloader-mkpimage.bin with option Boot from QSPI ticked. Watch dog enable is disabled.SDRAM Scrub and scrubb remain region enabled.Qspi next boot image is at 0x60000 address name as u-boot.img.
  2. after generating i compile it by command make all.
  3. Now i build and compile my design and generate my application output file in .axf format.
  4. In SOCEDS Command shell i convert my_file.axf to my_file.bin by GNU command ... arm-altera-eabi-objcopy.exe -O binary my_file.axf my_file.bin
  5. Using SOCEDS Command shell i load the Preloader-mkpimage.bin at 0x00000000 of QSPI Flash by command quartus_hps -c 1 -o P preloader-mkpimage.bin. It is successfully loaded.
  6. Using SOCEDS Command shell i load the my_file.bin at 0x60000 of QSPI Flash by command quartus_hps -c 1 -o P -a 0x60000 my_file.bin. It is successfully loaded.
  7. Now i reset or power cycle the system to check whether it is booting from qspi flash.

 

Unfortunately it is not booting from qspi flash.

 

The thing is that i want my application to be placed on top of preloader and boot automatically without u-boot or OS. How to do it. I am running out of ideas. Please guide

 

 

0 Kudos
Ahmed_H_Intel1
Employee
2,321 Views

Hi,

Please check the following link and select the required board and Quartus version then follow the steps one by one to get everything done completely without any issue.

https://rocketboards.org/foswiki/Main/GettingStarted

Regards.

0 Kudos
AKb
Beginner
2,321 Views

Hi,

I am following the below document. I am doing as per page 20 and page 21 of the document. Still not succeeding

 

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/an/an709.pdf

 

Regards

Akb

0 Kudos
AKb
Beginner
2,321 Views

Hi,

Thank u. I have gone through this. The link shows how to boot using linux and u boot. I dont want to use uboot or any OS. I want my baremetal application (WHICH I OBTAIN WHEN I COMPILE MY DESIGN IN DS 5 ) to boot on top of preloader using qspi flash connected to HPS of cyclone V SOC.

 

Please guide

 

Regards

Akb

0 Kudos
hsaee6
Beginner
2,317 Views
0 Kudos
Reply