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