arm汇编控制led灯

.text
.global _start
_start:
	mov r7,lr
	ldr r0,=0xe0200280
	@GPJ2CON地址
	ldr r1,=0x111
	@选择要控制的灯为输出模式
	str r1,[r0]
	@放进GPJ2CON地址执行
	ldr r0,=0xE0200284
	@GPJ2DAT地址
	mov r1,#0x2
	@控制哪几个灯亮,0为亮
	str r1,[r0]	
	@放进GPJ2DAT地址执行
	mov lr,r7
	bx lr 
.end 

makefile

all:start.bin clean
start.bin:start.o
	arm-linux-ld -Ttext=0x40000000 start.o -o start.elf 
	arm-linux-objcopy -O binary -S start.elf start.bin 
	arm-linux-objdump -d start.elf > debug

start.o:start.S
	arm-linux-gcc -c -nostdlib -nostdinc start.S -o start.o 
clean:
	rm -rf start.o start.elf


这里要学会看数据表,首先led灯在核心板上,就找核心板上的电路图,然后搜索下led,然后找对应引脚是多少,这里是GPJ2,然后就去数据表里查找,查找CON和DAT地址那些。然后看怎么用。如果是按键,就找扩展版里的电路图,搜索button,然后看接到哪,再去核心板图里找连接芯片的脚是多少。然后再去数据表里找地址那些。

注意:0x12345678这里16进制的1个数是4位,共32位

在bootcmd里传入执行文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值