程序如下:
#define CONFIG_PERIPORT_BASE 0x70000000
#define CONFIG_PERIPORT_SIZE 0x13
#define WTCON 0x7E004000
#define GPMCON 0x7F008820
#define GPMDAT 0x7F008824
.global _start
_start:
/*告诉CPU 外设的地址*/
ldr r0, =CONFIG_PERIPORT_BASE
orr r0, r0, #CONFIG_PERIPORT_SIZE
mcr p15,0,r0,c15,c2,4
/*关闭看门狗*/
ldr r0, =WTCON
mov r1, #1
str r1,[r0]
/*点灯nLED1 <==> GPM0*/
/*GPMCON 0x7F008820
**GPMDAT 0x7F008824
*/
/*设置GPM0为输出引脚*/
ldr r0, =GPMCON
mov r1, #0x1
str r1, [r0]
/*设置GPM0的电平输出为低,点亮*/
ldr r0, =GPMDAT
mov r1, #0
str r1, [r0]
halt:
b halt
编译:
arm-linux-gcc -c -o start.o start.S //只编译成目标文件,不链接文件
arm-linux-ld -Ttext 0 -o led.elf start.o //链接成led.elf可执行程序,并且代码段的地址为0
arm-linux-objcopy -O binary led.elf led.bin //生成机器可执行的二进制文件