StupidSynth/boot.S

21 lines
503 B
ArmAsm

.cpu arm1176jzf-s
.section ".text.boot"
.global _start
_start:
// 1. Set up the stack pointer
// The Pi 1 has 512MB RAM (usually), stack grows down from a safe high address.
// We'll set it to 0x8000 (where the kernel starts) and let it grow down.
mov sp, #0x8000
// 2. Clear BSS (Uninitialized variables) - Skipped for minimal "Stupid" version
// but good practice usually.
// 3. Jump to C code
bl kernel_main
// 4. Halt if main returns
halt:
wfe
b halt