mini2440之汇编点亮一个LED

发布时间: 2024-06-20
来源: 电子工程世界

代码编辑分析:(运行时可以删除注释,开发板为mini2440)

创建汇编文件led_on.S

  1. .global _start 

  2. -start: 

  3. LDR R0,=0X56000010  //设置LED的GPIO控制寄存器GPBCON的模式为输出模式,0X56000010为GPB的控制器地址,0X00000400:知设置GPB5的端口为 输出模式是第10位和第11位为10则其余0~9位补0,得到100000000000b,换算为十六进制则为0X00000400 

  4. MOV R1,#0X00000400 

  5. STR R1,[R0] 

  6. LDR R0,=0X56000014//0X56000014:GPBDAT寄存器地址,0X00000000:拉低GPB口的电压 

  7. MOV R1,#0X00000000 

  8. STR R1,[R0] 

  9. MAIN_LOOP://循环 

  10. B MAIN_LOOP 

Makefile文件

  1. led_on.bin:led_on.S 

  2. arm-linux-gcc -g -c -o led_on.o led_on.S 

  3. arm-linux-ld -Ttext 0x00000000 -g led_on.o -o led_on_elf 

  4. arm-linux-objcopy -o binary -S led_on_elf led_on.bin 

  5. clean: 

  6. rm -f led_on.bin led_on_elf *.o 

编译:

利用samba服务上传,通过终端进入上传文件,编译命令make

生成led_on.bin文件

测试:

下载到开发板,可以按照手册上的下载到内存运行,即在nor flash模式下启动,打开window终端和DNW下载led_on.bin

总结:万事开头难,这样简单的程序对那些高手而言可能不值一提,但是对于初学者来说真的步步维艰,希望这样的分析,为自己的学习做个记录,也为大家提供个参照。


文章来源于: 电子工程世界 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。