Instead of using the bootsector to load a bootloader, just put the bootloader in the ROM and call it a day. It looks for a file on the SD card in the root directory named `kernel.bin` and loads it into memory. This is not a perfect solution, as the kernel will grow larger and the kernel load address will have to change. At this point I could add back the bootloader, but that is for later. Also the bootloader is just a copy of the kernel, so that can be trimmed down a lot.
14 lines
391 B
ArmAsm
14 lines
391 B
ArmAsm
; ---------------------------------------------------------------------------
|
|
; vectors.s
|
|
; ---------------------------------------------------------------------------
|
|
;
|
|
; Defines the interrupt vector table.
|
|
|
|
.import _init
|
|
.import _nmi_int, _irq_int
|
|
|
|
.segment "VECTORS"
|
|
|
|
.addr _nmi_int ; NMI vector
|
|
.addr _init ; Reset vector
|
|
.addr _irq_int ; IRQ/BRK vector
|