您的位置:首页 > 其它

arm汇编控制led灯

2015-08-11 23:15 323 查看
.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里传入执行文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: