4 ms·
This is insanity. I wonder if ARM CPUs were able to start from scratch or a better place.
by booi 4y ago
This is insanity. I wonder if ARM CPUs were able to start from scratch or a better place.
- grishka 4y agoFor one, there never was, and still isn't, any universal BIOS-like spec for how an ARM CPU should boot and which peripherals it should have.
- penguin_booze 4y agoArm v7 was a Wild West, but with v8, Arm tried to standardize a lot. The Arm Trusted Firmware is the reference boot firmware implementation for v8+ CPUs: https://github.com/ARM-software/arm-trusted-firmware https://github.com/ARM-software/arm-trusted-firmware. I'd think most of the referece documents can be discovered from that code base. Relatedly, from the perspective of hands-on programming, the System Programmer's guide is the manual to start with: https://developer.arm.com/documentation/den0024/a/ https://developer.arm.com/documentation/den0024/a/.
- deleted 4y ago[deleted]
- deleted 4y ago[deleted]
- yencabulator 4y agoTo drive home how far from sane common ARM bootup sequences are, the Raspberry Pi is started by its GPU. You can think of an RPi as a proprietary GPU with an auxiliary ARM CPU.
- jsmith45 4y agoYeah, and the GPU code is designed to read the linux kernel into RAM, and set it up so it begins executing the linux kernel as the inital instructions of the ARM CPU. If you want some more normal bootloader like u-boot you need to jump through hoops to make sure the GPU based bootloader can treat it like a weird Linux Kernel. (In theory, with source for the GPU 2nd stage bootloader one could change things, but RPI foundation does not provide access to that source).