X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=rpikern;a=blobdiff_plain;f=src%2Fstartup.s;h=308d4faa9d461296923110f20a502c5c12c8e90e;hp=30e2a6676a7b12c327dc184f7a19a703b1546310;hb=993155fee2327f1f3cda285c9548bbb09688a3f3;hpb=4cdb0feb633bc6181644704cea8f18368b5bcfd1 diff --git a/src/startup.s b/src/startup.s index 30e2a66..308d4fa 100644 --- a/src/startup.s +++ b/src/startup.s @@ -3,9 +3,10 @@ .section .startup .code 32 +startup: ldr sp, =_stacktop - mov r0, #1 + mov r0, #2 bl dbgled @ clear bss @@ -23,20 +24,29 @@ mov r0, #0 bl dbgled -halt: wfe - b halt + .global exit +exit: wfe + b exit + .global dbgled 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 + tst r0, #1 + strne r2, [r3, #0x1c] @ GPSET0 + streq r2, [r3, #0x28] @ GPCLR0 lsl r2, #1 + tst r0, #2 strne r2, [r3, #0x1c] @ GPSET0 streq r2, [r3, #0x28] @ GPCLR0 bx lr + .global delay +delay: + subs r0, r0, #1 + bne delay + bx lr + @ vi:set filetype=armasm: