Last output with CONFIG_DEBUG_INITCALLS enabled: https://paste.debian.net/1385224/, line 24 : '%' is at top of function, 'C' is before setup_c() and 'B' is before pbl_barebox_break()

David

Le 04/07/2025 à 17:09, Ahmad Fatoum a écrit :
Hello David,

On 7/3/25 16:21, David Picard wrote:
Hello,

I'm trying to port the Enclustra SA2 module. I started off the Terasic
DE0 nano Soc board, that I could run with success previously. They both
have a Cyclone V SoC FPGA. I added some pr_debug().

My code is here, in the board-enclustra-sa2 branch:
https://github.com/dpproto/barebox

It hangs when the execution jumps to the uncompressed Barebox image, and
I'm really stuck.
It's very interesting to know that this is actually the second
decompression. The first stage (barebox-socfpga-sa2-xload.img) succeeded
up to 'starting bootloader...' and then the output you have after that
is the prebootloader of the second stage (barebox-socfpga-sa2.img).

The decompressed barebox proper of the first stage already ran from
within SDRAM, so your SDRAM setup might not be to blame.

For a more complete picture, could you enable CONFIG_DEBUG_PBL and
CONFIG_DEBUG_LL also for the first stage and include them in your next mail?

Enclustra provides a U-Boot configuration, with handoff files. I tried
to compare them with those I copied from a sample Quartus project they
provide too. I couldn't notice striking differences, although it's not
easy to compare because they used an older version of Quartus.

- The addresses and sizes in the log output below don't seem to exceed
SDRAM boundaries, do they?
- Any hint on anything to check?
I expanded a bit on Sascha's suggestions in the troubleshooting guide
I just sent out. I hope this will be helpful to you in pinpointing your
issue. Looking at the branch you pushed to your repository, I notice
the following in no particular order:

   -  you are missing a /chosen/stdout-path. You probably want to set it
      to silence the 'No consoles were activated' warning and get
      early output, even without CONFIG_DEBUG_LL

   - As Sascha mentioned, calling pr_debug before relocation can
     introduce bugs of its own, so stick to putc_ll('@') if unsure

   - It would be interesting to see if CONFIG_PBL_VERIFY_PIGGY succeeds
     and if an early putc_ll() in start.c as suggested by Sascha
     would give any output.

Cheers,
Ahmad

David

=============================
barebox 2025.06.1 #1 Thu Jul 3 10:53:43 CEST 2025


Board: SoCFPGA
No consoles were activated. Activating all consoles as fallback!
dw_mmc dw_mmc0: registered as mci0
mci0: detected SD card version 2.0
mci0: registered disk0
starting bootloader...
arch/arm/boards/enclustra-sa2/lowlevel.c: __start_socfpga_sa2() >>> start
include/mach/socfpga/lowlevel.h: start_socfpga_c5_common() >>> start
include/mach/socfpga/lowlevel.h: start_socfpga_c5_common() >>>
arm_cpu_lowlevel_init() OK
include/mach/socfpga/lowlevel.h: start_socfpga_c5_common() >>>
fdt_blob=0x00002320 fdt=0x1ff87ae8 size=0x40000000
include/mach/socfpga/lowlevel.h: start_socfpga_c5_common() >>> calling
barebox_arm_entry()...
uncompress.c: memory at 0x00000000, size 0x40000000
mmu: enabling MMU, ttb @ 0x3ffe0000
endmem                = 0x40000000
arm_mem_scratch       = 0x3fff8000+0x00008000
arm_mem_stack         = 0x3fff0000+0x00008000
arm_mem_ttb           = 0x3ffe0000+0x00010000
arm_mem_barebox_image = 0x3fe00000+0x00200000
arm_mem_early_malloc  = 0x3fde0000+0x00020000
membase               = 0x00000000+0x40000000
uncompress.c: uncompressing barebox binary at 0x1ff8c800 (size
0x00056b67) to 0x3fe00000 (uncompressed size: 0x000778b0)
uncompress.c: jumping to uncompressed image at 0x3fe00001
uncompress.c: calling armv7_switch_to_hyp()...
uncompress.c: armv7_switch_to_hyp() OK. Now jumping...
=============================





Reply via email to