ARM学习——从点亮一个LED灯开始(裸机)

本文详细介绍了使用ARM汇编语言实现LED灯点亮的过程,包括寄存器操作、数据准备及循环控制。并通过Makefile简化了编译流程,适用于嵌入式系统初学者实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现的目标打开一个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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值