57 lines
937 B
ArmAsm
Raw Normal View History

#ifdef EXEC_GATEWAY
2016-04-11 14:11:34 +02:00
.section .text.start
.global _start
2016-04-11 14:11:34 +02:00
.align 4
.arm
_vectors:
ldr pc, =InfiniteLoop
.pool
ldr pc, =InfiniteLoop
.pool
ldr pc, =InfiniteLoop
.pool
ldr pc, =InfiniteLoop
.pool
ldr pc, =InfiniteLoop
.pool
ldr pc, =InfiniteLoop
.pool
_start:
ldr sp,=0x22140000
@@wait for the arm11 kernel threads to be ready
ldr r1, =0x10000
waitLoop9:
sub r1, #1
cmp r1, #0
bgt waitLoop9
ldr r1, =0x10000
waitLoop92:
sub r1, #1
cmp r1, #0
bgt waitLoop92
2016-04-11 01:58:18 +02:00
@ Enable caches
mrc p15, 0, r4, c1, c0, 0 @ read control register
orr r4, r4, #(1<<18) @ - itcm enable
orr r4, r4, #(1<<12) @ - instruction cache enable
orr r4, r4, #(1<<2) @ - data cache enable
orr r4, r4, #(1<<0) @ - mpu enable
mcr p15, 0, r4, c1, c0, 0 @ write control register
ldr sp,=0x22160000
ldr r3, =main
blx r3
.pool
InfiniteLoop:
b InfiniteLoop
#endif // EXEC_GATEWAY