arm裸机部分笔记
####sp栈指针
- 由于ARM在各种模式下都需要设置各自的栈指针,所以ldr sp,=svc_stack 操作指针较多,根据的arm-atpcs规则,对栈的操作属于满减栈,既指针一指向栈顶元素,是按地址减小的方向增长,所以一般是将sp设置在地址的最高处。
#define WTCON 0xE2700000
#define SVC_STACK 0xD0037D80
#
.global _start
start:
ldr r1, =0x11111111
ldr r2, =GPJ0CON
str r1, [r2]
ldr r1, =WTCON
ldr r2, =0x0
str r2,[r1]
ldr sp,=SVC_STACK