DE10 Nano - Booting from FPGA
Hannes
hannes.grabmann at gmail.com
Mon Oct 27 17:01:22 CET 2025
Hello,
I am currently working on a small project for the DE10 Nano Board and setup
Pinmux for the Ethernet PHY signals. As I need the preloader to configure
the Pinmux in the HPS, I have tried to set this up based on the current
u-boot-socfpga branch. For this purpose i followed different guides on
rocketboards.org and the "AN 709: HPS SoC Boot Guide" on how to build a
bootloader and configure HPS from FPGA using EPCS64 flash memory. I could
configure SPL_TEXT_BASE=0xC0000000 and "Support booting from SPI Flash" in
menuconfig, build and create .hex file from u-boot-spl to initalize the
on-chip RAM. Problem is that the preloader does not seem to be executed.
Upon further investigation i noticed that the spl data address is not at
0XFFFF0000 as suggested by several older guides:
arm-none-eabi-readelf -S spl/u-boot-spl
There are 19 section headers, starting at offset 0x1482f4:
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk
Inf Al
[ 0] NULL 00000000 000000 000000 00 0
0 0
[ 1] .text PROGBITS c0000000 001000 00b5d4 00 AX 0
0 64
[ 2] .rodata PROGBITS c000b5d4 00c5d4 00232b 00 A 0
0 4
[ 3] .data PROGBITS c000d900 00e900 000098 00 WA 0
0 4
[ 4] __u_boot_list PROGBITS c000d998 00e998 000840 00 WA 0
0 4
[ 5] .bss PROGBITS c000e1d8 00f1d8 000010 00 W 0
0 4
[ 6] .ARM.attributes ARM_ATTRIBUTES 00000000 00f1e8 000029 00 0
0 1
[ 7] .comment PROGBITS 00000000 00f211 000026 01 MS 0
0 1
[ 8] .debug_line PROGBITS 00000000 00f237 0292fa 00 0
0 1
[ 9] .debug_info PROGBITS 00000000 038531 08eab7 00 0
0 1
[10] .debug_abbrev PROGBITS 00000000 0c6fe8 0134ca 00 0
0 1
[11] .debug_aranges PROGBITS 00000000 0da4b8 002948 00 0
0 8
[12] .debug_str PROGBITS 00000000 0dce00 010da7 01 MS 0
0 1
[13] .debug_loc PROGBITS 00000000 0edba7 042307 00 0
0 1
[14] .debug_ranges PROGBITS 00000000 12feb0 006ca0 00 0
0 8
[15] .debug_frame PROGBITS 00000000 136b50 007324 00 0
0 4
[16] .symtab SYMTAB 00000000 13de74 006a70 10 17
1244 4
[17] .strtab STRTAB 00000000 1448e4 00394d 00 0
0 1
[18] .shstrtab STRTAB 00000000 148231 0000c1 00 0
0 1
I also couldn't find that value in the menuconfig, nor could I find any
up-to-date guidelines for booting HPS preloader from FPGA. Can you tell me
if this approach is still viable and how to implement it correctly?
Best regards,
Hannes Grabmann
More information about the U-Boot
mailing list