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

Arria 10 - FPGA Boot

GregD
Beginner
226 Views

Hello. I am working on an Arria 10 project. Using ARM development studio and USB-Blaster I can load and run u-boot, do an NFS mount of the rootfs, and program the eMMC. Afterward, the board successfully boots u-boot 2021.04, programs the FPGA, and runs Linux 5.10.70. I need to create an sof that has integrated u-boot that our production can load and run from the USB-Blaster to be able to perform eMMC programming. I have not been able to find documentation that describes how to create the hex format version of u-boot from compiled u-boot binaries that is needed to create the sof.

Which u-boot binary to use? u-boot-dtb.bin?

How to convert to hex?  arm-linux-gnueabi-objcopy?

etc.

Thanks

0 Kudos
5 Replies
sstrell
Honored Contributor III
213 Views

A .sof file cannot include this.  It's strictly for programming the FPGA.  You need a drive image that includes the .sof along with u-boot, etc.

GregD
Beginner
204 Views

Thanks for the response.

Currently, for this product, there is a .sof that production uses that runs u-boot v2014.10 when in boot-from-FPGA.

~/intelFPGA/21.1/nios2eds/nios2_command_shell.sh \
quartus_pgm -c 1 -m jtag -o "p;boardCheckEmmcProg.sof"

I am trying to recreate boardCheckEmmcProg.sof with newer u-boot v2021.04 but I do not know how to create the hex file that our FPGA engineer needs to create the .sof.

My question:

Which u-boot binary to use? u-boot-dtb.bin?

How to convert to hex?  arm-linux-gnueabi-objcopy?

EricMunYew_C_Intel
Moderator
174 Views

You can refer to below for FPGA boot in Arria 10 SoC.

https://rocketboards.org/foswiki/Documentation/UBootA10FPGABoot

Below is the command to generate U boot in hex.

% arm-altera-eabi-objcopy -I binary -O ihex --adjust-vma -0x00000000 u-boot_w_dtb.bin hpsBootTarget.hex


GregD
Beginner
155 Views

Yes, I was using the steps in https://rocketboards.org/foswiki/Documentation/UBootA10FPGABoot. The difference is that there is no longer a BSP editor in Intel SoC FPGA Embedded Development Suite v21.1. 

"As part of the continuous enhancement of tools flow, Arria10 SoC BSP Generator functionality is now merged into U-Boot flow. "

I did change #define CONFIG_SYS_TEXT_BASE 0xc0000000, compiled u-boot, and ran:

arm-altera-eabi-objcopy -I binary -O ihex --adjust-vma -0x00000000 u-boot-dtb.bin u-boot.hex

The boot-from-FPGA did not work with the sof generated using the u-boot.hex. My guess is there is some additional configuration needed in u-boot (or the Qsys project).

EricMunYew_C_Intel
Moderator
120 Views

You can enable the FPGA boot in Arria 10 GHRD and Qsys, and refer to below for the changes required.

And the boot loader u-boot-socfpga must be rebuilt again to generate u-boot_w_dtb.bin for boot from the FPGA.

https://rocketboards.org/foswiki/Documentation/A10GSRD151FPGABoot


Reply