On Tuesday 11. June 2019 00.18.43 Paul Boddie wrote:
On Tuesday 11. June 2019 00.08.59 Adam Lackorzynski wrote:
If it just reboots in the middle of a rather normal C function, then it's likely some instruction that has been generated there and not understood by the CPU. Could you maybe use u-boot as it shows a register dump when something like this happens, allowing to know where it branched away.
I think that introducing U-Boot may save me some time in the end, so I'll look into that. The Raspberry Pi stuff is rather alien to me, but I had hoped that there was an established recipe for getting things up and running.
Well, with config.txt updated with...
kernel=u-boot.bin
...I get a prompt on the UART and can tell U-Boot to load and start the payload, according to some instructions I found online:
https://ltekieli.com/buildroot-with-raspberry-pi-u-boot/
Here is the conversation:
----
U-Boot> mmc dev 0 switch to partitions #0, OK mmc0 is current device U-Boot> fatload mmc 0:1 ${kernel_addr_r} hello.raw 1209560 bytes read in 91 ms (12.7 MiB/s) U-Boot> bootz ${kernel_addr_r} Kernel image @ 0x080000 [ 0x1000000 - 0x11274d8 ]
Starting kernel ...
L4 Bootstrapper Build: #8 Mon Jun 10 19:44:17 CEST 2019, 7.4.0 Scanning up to 512 MB RAM, starting at offset 32MB Memory size is 512MB (00000000 - 1fffffff) RAM: 0000000000000000 - 000000001fffffff: 524288kB Total RAM: 512MB Scanning fiasco Scanning sigma0 Scanning moe Moving up to 5 modules behind 1100000
----
Unfortunately, nothing more is shown and there is no register dump. Maybe I have to compile in some kind of exception handler or something.
Paul