Raspberry Pi bare metal code.
| name | |
|---|---|
| framebuffer01 | draw framebuffer |
| int01 | uart rx interrupt handling |
| timer01 | arm generic timer every 1 secnod |
| name | |
|---|---|
| dma01 | dma memory to meory |
| framebuffer01 | draw framebuffer |
| int01 | uart rx interrupt handling |
| int02 | mini uart rx interrupt handling |
| sdhost01 | sdhost initialize |
| sdhost02 | sdhost readblock |
| task01 | task create |
| task02 | task switch |
| timer01 | arm generic timer every 1 secnod |
| usb01 | usb host : usb device detect |
| usb02 | usb host : control transfer |
| usb03 | usb host : enumuration |
arm and aarch64 toolchain ( arm-none-eabi and aarch64-none-elf)
I use QEMU 6.1.0 raspi2 model and raspi3 model.
$ qemu-system-arm -m 1024 -M raspi2 -nographic -kernel kernel.elf
$ qemu-system-aarch64 -m 1024 -M raspi3 -nographic -kernel kernel.elf