I've worked on bootloaders for multiple ARM SoCs and each one has their own charms, their own quirks, and their own hair-pulling features. I wouldn't touch Broadcom parts with a ten-foot pole but, thankfully, they don't want to work with me either so we're cool.
TI and NXP are probably the better choices. 3358/Beagle still looks for a IBM PC/MSDOS-era Master Boot Record at the start of flash when strapped the normal way, which is charming. Most allow for UART bootstrapping when nothing else is available, which is a lifesaver. I do wish more parts picked up the USB-UF2 bootloading method that Pico has created. THAT is awesome.
As an electrical engineer: you'd be surprised how many people "discover" long held truths like that you can use the MPN ("Manufacturer Part Number") of a device to find it's documentation and that this documentation sometimes contains useful data.
It's everywhere. Just recently (a couple of months ago) on HN there was a story about an SQLite-but-rewritten-in-Rust [0], how they've discovered some peculiarity in SQLite file format by reading its source code. Except, of course, this peculiarity has been documented for decades, on SQLite's official site. How did they manage to write SQLite-compatible DBMS without reading the official documentation of the file format, I have no idea.
And on many other platforms the CPU also does not boot itself. Many SoCs have a small core which configures and boots all the other cores (usually Cortex-M or similar).
> This explains several Raspberry Pi oddities:
> The Raspberry Pi has No BIOS / UEFI
This isn't really that strange for an ARM SoC.
Also, there is UEFI firmware for it.
https://0ink.net/posts/2024/2024-07-01-pi-uefi-boot.html
Can this UEFI firmware be ported to other ARM devices, e.g. phones, tablets, books?
Have you checked out uboot?
https://u-boot.org/
Doesn't everything under the sun boot with uboot? Uboot is usually what people want to replace when they say "why can't this just run UEFI?"
I have yet to find a valid reason for UEFI to replace u-boot, or UEFI to exist at all.
Yes, it's just a port of the EDK2 UEFI reference firmware
I've worked on bootloaders for multiple ARM SoCs and each one has their own charms, their own quirks, and their own hair-pulling features. I wouldn't touch Broadcom parts with a ten-foot pole but, thankfully, they don't want to work with me either so we're cool.
TI and NXP are probably the better choices. 3358/Beagle still looks for a IBM PC/MSDOS-era Master Boot Record at the start of flash when strapped the normal way, which is charming. Most allow for UART bootstrapping when nothing else is available, which is a lifesaver. I do wish more parts picked up the USB-UF2 bootloading method that Pico has created. THAT is awesome.
> This isn't really that strange for an ARM SoC.
When a lot of people call them "PC"s, it is.
How can one "discover" something well documented in the datasheet, and on google https://forums.raspberrypi.com/viewtopic.php?t=266130, https://www.google.com/search?q=raspberry+pi+boot+chain
As an electrical engineer: you'd be surprised how many people "discover" long held truths like that you can use the MPN ("Manufacturer Part Number") of a device to find it's documentation and that this documentation sometimes contains useful data.
It's everywhere. Just recently (a couple of months ago) on HN there was a story about an SQLite-but-rewritten-in-Rust [0], how they've discovered some peculiarity in SQLite file format by reading its source code. Except, of course, this peculiarity has been documented for decades, on SQLite's official site. How did they manage to write SQLite-compatible DBMS without reading the official documentation of the file format, I have no idea.
[0] https://news.ycombinator.com/item?id=45059888
It does not bode well when you're writing a database engine and not revealing any bugs ... because all your test datasets are under 1GB.
I don't think the author was presenting it like some kind of "new to the world" discovery. It was just something they recently learned.
The blog post from OP is mostly AI generated - quite a few tells in the style of writing.
The firmware in question being Microsoft's ThreadX. This was made FOSS a few years back but that doesn't help with the Pi.
https://www.theregister.com/2023/11/28/microsoft_opens_sourc...
Well, "Traditional PC Boot" is also not like that on Intel, the booting is started from the chipset, from Intel ME. It boots the CPU.
And on many other platforms the CPU also does not boot itself. Many SoCs have a small core which configures and boots all the other cores (usually Cortex-M or similar).