实现的目标打开一个led灯。
- 第一个汇编程序 crt0.s
.test
.global _start
_start:
LDR R0,=0X56000050 //LED寄存器地址
MOV R1,#0X00000100 //准备向寄存器写入的数据
STR R1,[R0] //寄存器写入数据
LDR R0,=0X56000054
MOV R1,#0X00000000
STR R1,[R0]
MAIN_LOOP: //进入循环
B MAIN_LOOP
下面对该汇编程序进行编译,为了编译方便,把编译过程写入Makefile中。
- 第一个Makefile
led_on.bin : crt0.s
arm-linux-gcc -g -c -o ledo crt0.s
arm-linux-ld -Ttext 0x0000000 -g led.o -o led_elf
arm-linux-objcopy -O binary -S led_elf led.bin
clean:
rm -f led.bin led_elf *.o
本文详细介绍了使用ARM汇编语言实现LED灯点亮的过程,包括寄存器操作、数据准备及循环控制。并通过Makefile简化了编译流程,适用于嵌入式系统初学者实践。
708

被折叠的 条评论
为什么被折叠?



