1

大家,我是嵌入式系统编程的初学者,我的第一个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 都是黑暗的。如果有人能向我解释这一点,我将不胜感激。谢谢

4

0 回答 0