0

I'm working on booting U-Boot from the SPI flash memory of an Arty A7 100T FPGA and encountering an issue where U-Boot does not execute after power-on

Issue

U-Boot does not produce any output on the UART console when booting from flash

Setup:

  1. I have built U-Boot for my RISC-V-based system and flashed it to SPI flash at address 0x0C000000
  2. The expectation is that, upon power-on, the bootloader should be loaded from flash into RAM and executed

Observations:

  1. After flashing the bitstream into the FPGA, the board powers on, but U-Boot does not boot. I see no output on the UART console.

  2. To test the flash execution path, I flashed a small UART print test program to 0x0C00 0000, which worked correctly, confirming that the flash itself is accessible. I verified the U-Boot binary in flash, and it appears to be written correctly

  3. However, if I load the same U-Boot image directly into RAM using GDB, it boots successfully, indicating that the image itself is functional

  4. After flashing U-Boot into the flash, I verified that the contents were written correctly

What I need help with:

  1. What could be preventing U-Boot from executing when loaded from flash?
  2. What debugging steps can I take to analyze the issue further?
  3. Could this be related to missing relocation, boot address misalignment, or an issue with the OpenSBI handoff?
1
  • Does Arty A7 - Bootloader does not load on the Digilent forum help on what to investigate? It suggests the bitstream settings can cause the failure symptom. Can you get an example project to start U-Boot OK?CommentedMar 9 at 10:15

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.