第一个程序就low一下点亮一下LED为了测试开发环境准确无误。
先看一下原理图:
我们看到开发板有3个灯,nLED_1 为低电平的时候亮。
对应的分别为GPF4 GPF5 GPF6
GPIO的控制方法在芯片的手册的I/O port这章。
设置这两个寄存器就可以了
PORT CONFIGURATION REGISTER
配置寄存器 GPxCON
PORT DATA REGISTER 端口寄存器 GPxDAT
所以
我们基地址为0x56000050的 32位配置寄存器 中的9:8位设置为01
然后把基地址为0x560000054的 16位数据寄存器 中的第4位 设置为1
├── asm_led
│ ├── led_on.S
│ ├── led.txt
│ └── Makefile
代码:
@
led_on.S
.text
.global _start
_start:
LDR R0,=0x56000050
MOV R1,#0x00000100
STR R1,[R0]
LDR R0,=0x56000054
MOV R1,#0x00000000
STR R1,[R0]
LOOP:
B LOOP
Makefile:
led_on.bin : led_on.S
arm-linux-gcc led_on.S -o led_on.o -c
arm-linux-ld -Ttext 0x00000000 led_on.o -o led_on.elf
arm-linux-objcopy -O binary -S led_on.elf led_on.bin
clean:
rm *.bin *.elf *.o