本人使用的是韦东山老师的JZ2440开发板
点亮LED1,原理图如下:
1,看原理图可知LED1对应GPF4;
2, 看上图可知LED1为低电平使能:GPF4 = 0,LED1 亮;GPF4 = 1,LED1 灭;
3,查看数据手册:
设置GPFCON[9:8] = 0b01时,GPF4配置为输出;(把0x100写入GPFCON,即写到地址0x56000050上)
设置GPFDAT[4] = 0时,GPF4输出低电平,LED1点亮(把0写到地址0x56000054上)
汇编源代码如下led_on.S:
/*
* 点亮LED1: gpf4
*/
.text
.global _start
_start:
/* 配置GPF4为输出引脚
* 把0x100写到地址0x56000050
*/
ldr r1, =0x56000050
ldr r0, =0x100 /* mov r0, #0x100 */
str r0, [r1]
/* 设置GPF4输出高电平
* 把0写到地址0x56000054
*/
ldr r1, =0x56000054
ldr r0, =0 /* mov r0, #0 */
str r0, [r1]
/* 死循环 */
halt:
b halt
Makefile文件如下:
all:
arm-linux-gcc -c -o led_on.o led_on.S
arm-linux-ld -Ttext 0 led_on.o -o led_on.elf
arm-linux-objcopy -O binary -S led_on.elf led_on.bin
clean:
rm *.bin *.o *.elf
make得到led_on.bin,烧写到nandflash,LED1亮。