心心程序博客

眼过千遍不如手过一遍! 书看千行不如手敲一行! 手敲千行不如单步一行! 单步源代码千行不如单步对应汇编一行!

导航

1、ldr r13,=0x1000

1、ldr r13,=0x1000


对于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的地址)


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/redxu/archive/2010/12/15/6077084.aspx

posted on 2011-05-01 17:18  心心程序博客  阅读(528)  评论(0编辑  收藏  举报