这几天我用板子做led流水灯的实验,从NOR flash启动的 进入VIVI 然后把程序LOAD RAM 到0x30000000 地址处,程序能运行了,我现在想知道从NOR flash启动时候硬件初始化的工作,led灯亮是亮了,就是延时程序弄不成功啊,等下我把是的汇编代码写上来,请大家给我分析下吧
程序代码如下:
.text
.global _start
_start:
LDR R0,=0x56000010
MOV R1,#0x00015400
STR R1,[R0]
LDR R0,=0x56000014
LLL: MOV R1,#0xffffffdf
STR R1,[R0]
bl delay
L4: mov R1,R1,LSL #1
STR R1,[R0]
BL delay
SUBS R1,R1,#0XFFFFFEF0
BEQ LLL
BL L4
delay:
mov R7,#0x200 //立即数超过2000多就编译出错了 用0XFFFFFFFF 就行 不知道为什么
D1: SUBS R7,R7,#1
mov R6,#0x2000
D2: SUBS R6,R6,#1
BNE D2
BNE D1
mov pc,lr
[ 此帖被emebeder在2010-01-06 10:49重新编辑 ]