ldr r13,=0x1000

来源:互联网 发布:商品秒杀软件 编辑:程序博客网 时间:2024/06/08 18:28


对于ldr r13,=0x1000的解释
有“=”号表示ldr是一个伪指令。
ldr r13,=0x1000 //表示把立即数0x1000送入r13,0x1000=4KB代表bootloader结束处

r13是stack pointer,因为后面要跳到LedMain,这个function是用c写的,所以必须要事先分配stack,否则c程序没法运行。给r13赋值就是分配stack,对跑马灯来说只要是可用内存就行,并不在乎具体地址在哪。

其实只要记住一条,C是基于栈的语言,没有栈是无法运行的,而且栈是从高地址处向低地址处的,所以是从0x1000~0x0。

(将0x1000改成sdram的地址 0x30000000~0x34000000也行,只是不要覆盖到RO Base的地址)
原创粉丝点击