Hi Simon,

Thanks for getting back to me


I'm developing on an ubuntu x86 machine, trying to run the u-boot
hello_world standalone application which resides on an image |sd.img|
which contains a partition

I've compiled u-boot (|v2022.10|) with |qemu-x86_64_defconfig|

I run qemu with "|qemu-system-x86_64 -m 1024 -nographic -bios u-boot.rom
-drive format=raw,file=sd.img"|

u-boot starts up, doesn't find a script, doesn't detect tftp, and awaits
a command. If I type |"ext4ls ide 0:1|", I can clearly see
hello_world.bin (|3932704 hello_world.bin|).

When I do a |ext4load ide 0:1 0x40000 hello_world.bin| (in preparation
for |go 40000 This is another test|), qemu/u-boot restarts.

0x40000 is the |CONFIG_STANDALONE_LOAD_ADDR| for x86.

I have also tried making an image of hello_world |"mkimage -n "Hello
stand alone" -A x86_64 -O u-boot -T standalone -C none -a 0x40000 -d
hello_world.bin -v hello_world.img|" and tried to load the image into
0x40000 with the intention of using |bootm| in case of cache issues -
qemu/u-boot still resets.

Could anyone possibly point out the basic mistake I'm making?

Is the app linked to start at that address. Could you try 'dcache off'
before the 'go'? Do you have a debugger?


The standalone Makefile sets up the start address at 0x40000 (CONFIG_STANDALONE_LOAD_ADDR), so I'm assuming that hello_world.bin is correctly linked to that address.

I'm unable to even try 'dcache off' before 'go' as the 'ext4load' at CONFIG_STANDALONE_LOAD_ADDR causes a restart.

As I mentioned to Tom Rini, all I'm trying to do at the moment is develop a standalone program using u-boot and qemu on my x86 ubuntu machine and then target a platform (riscv or arm) at a later date.

Thanks again for your reply

Nick

Reply via email to