Closed Fishwaldo closed 1 year ago
Can you paste the build command for OpenSBI?
Most likely the issue is that you need to load fw_payload.bin
to 0x50000000, not 0x51000000. fw_payload.elf
must be loaded at an offset, because the remoteproc loader parses the ELF headers and copies it to the right place, but the .bin
file needs to be loaded to the final address directly.
OpenSBI is PIC, which is why it does not mind being run from 0x51000000, but U-Boot contains several hard-coded addresses, which are likely broken from being run from the wrong location.
You can also enable CONFIG_SBI_V01
and CONFIG_DEBUG_SBI_CONSOLE
in your U-Boot build to get debugging output earlier.
Got it working!
One very simple patch, if you can apply, to set a default scriptaddr otherwise the distro_bootcmd will error out if it tries to load a /boot.scr from the SDCard:
Hey @smaeul I'm trying to get this into buildroot, but still with our D0 low_load code and I'm failing.
Right now, just for testing, i'm building uboot/opensbi for D0 using your instructions outside of buildroot, copy fw_payload.bin into buildroot and burn the image.
D0 lowload copies fw_payload.bin to 0x51000000 and then passes control. OpenSBI runs, but when it hands over to u-boot, it dies:
This is compiled using the t-head toolchain (that buildroot uses)
Any chance you can look at the opensbi output above and see if anything is amiss?