大家,我是嵌入式系统编程的初学者,我的第一个led测试程序是mini2440,是用汇编语言编写的.S文件:
.text
.global _start
_start:
bl disable_watch_dog
ldr r0, =0x56000010
mov r1, #0x15400
str r1, [r0]
ldr r0, =0x56000018
mov r1, #0x0
str r1, [r0]
ldr r0, =0x56000014
MAIN_LOOP:
mov r1, #0x0
str r1, [r0]
mov r2, #0x50000
bl delay
mov r1, #0x1e0
str r1, [r0]
mov r2, #0x50000
bl delay
b MAIN_LOOP
disable_watch_dog:
ldr r0, =0x53000000
mov r1, #0x0
str r1, [r0]
mov pc, r14
delay:
sub r2, r2, #0x1
cmp r2, #0x0
bne delay
mov pc, lr
编译后,我从这个程序中得到了 .bin 文件,并将其写入 mini2440 的带状闪存并打开:
telnet localhost 4444
halt
init_2440
nand erase 0 0x0 0x100000
nand write 0 /home/led/led.bin 0
reset
我没有看到终端有任何错误或警告,但板子没有反应,所有的 LED 都是黑暗的。如果有人能向我解释这一点,我将不胜感激。谢谢