在ADS下写了如下程序,烧到ROM之后程序没有如程序所跑,大家能说一下用ADS写程序的时候要注意什么问题吗?
比如存储器设置方面的问题。
AREA crt0,CODE,READONLY ;定义一个代码段,只读
CODE32 ;32位ARM指令,
ENTRY ;汇编程序的入口点
LDR R0,=0x53000000
MOV R1,#0
STR R1,[R0] ;disable watchDog
LDR SP, =1024*2 ;设置堆栈,注意:不能大于4knand flash中的代码在复位后会;移到内部ram中,它只有4k
;BL Main ;调用C程序中的main函数
LDR R0,=0x56000010 ;R0设为GPBCON寄存器。此寄存器用于选择端口B各引脚的功能是输出、是输入、还是其他
MOV R1,#0x00154000
STR R1,[R0] ;设置GPB7-GPB10为输出口;R1->[R0]
LDR R0,=0x56000014 ;R0设为GPBDAT寄存器。此寄存器用于读/写端口B各引脚的数据
LOOP1
MOV R1,#0x00000000 ;此值改为0x00000080,可让LED1熄灭
STR R1,[R0] ;GPB7输出1
BL DELAY
MOV R1,#0x000000FF
STR R1,[R0]
BL DELAY
B LOOP1
B .
DELAY
LDR R2,=0xFFFFFF;
LOOP
SUBS R2,R2,#1
BNE LOOP
MOV PC,R14
END