X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=rpikern;a=blobdiff_plain;f=src%2Fstartup.s;h=587ab95ea08c275fe7c1388a63afb97e4ef73c0d;hp=30e2a6676a7b12c327dc184f7a19a703b1546310;hb=574147e84aafb61db3cf8b595d2a12ce5ba160de;hpb=4cdb0feb633bc6181644704cea8f18368b5bcfd1 diff --git a/src/startup.s b/src/startup.s index 30e2a66..587ab95 100644 --- a/src/startup.s +++ b/src/startup.s @@ -3,11 +3,16 @@ .section .startup .code 32 + .global startup +startup: + @ stop all but one of the cores + mrc p15, 0, r0, c0, c0, 5 + ands r0, r0, #0xff + bne exit + + @ setup stack ldr sp, =_stacktop - mov r0, #1 - bl dbgled - @ clear bss ldr r0, =_bss_start ldr r1, =_bss_size @@ -18,25 +23,10 @@ subs r1, #4 bne 0b 1: - bl main - - mov r0, #0 - bl dbgled - -halt: wfe - b halt + blx main -dbgled: - ldr r3, =0x3f200000 @ gpio base - ldr r2, =0x9000 @ gpio 24 and 25 -> output - str r2, [r3, #8] @ store to GPFSEL2 - ldr r2, =0x01000000 @ bit 24 - teq r0, #0 - streq r2, [r3, #0x1c] @ GPSET0 - strne r2, [r3, #0x28] @ GPCLR0 - lsl r2, #1 - strne r2, [r3, #0x1c] @ GPSET0 - streq r2, [r3, #0x28] @ GPCLR0 - bx lr + .global exit +exit: wfe + b exit @ vi:set filetype=armasm: