2440 裸机学习 点亮LED
1。首先需要知道 led 是受哪一个gpio口控制
从上图可以看出,两个led灯是受GPF4 GPF5控制的,低电平有效。
2、怎么控制GPF4 GPF5
通过2440的芯片手册可以看出,需要设置GPF的引脚只需要设置,两个寄存器就可以了。GPFCON GPFDAT。
C语言部分:
void delay(volatile int d)//延时函数 { while (d--); } int led_on(int which) { unsigned int *pGPFCON = (unsigned int *)0x56000050; unsigned int *pGPFDAT = (unsigned int *)0x56000054; if (which == ) { /* 配置GPF4为输出引脚 */ *pGPFCON = 0x100; } else if (which == ) { /* 配置GPF5为输出引脚 */ *pGPFCON = 0x400; } /* 设置GPF4/5输出0 */ *pGPFDAT = ; return ; }
汇编代码部分:
.text .global _start _start: ldr sp,=4096 mov r0,#4 bl led_on ldr r0,=100000 bl delay mov r0,#5 bl led_on halt: b halt
gcc 交叉编译部分:
all: arm-linux-gcc -c -o led.o led.c //编译led.c arm-linux-gcc -c -o start.o start.S//编译strat.s arm-linux-ld -Ttext start.o led.o -o led.elf//链接 两个文件 arm-linux-objcopy -O binary -S led.elf led.bin//生成bin文件 arm-linux-objdump -D led.elf > led.dis//生成反汇编文件 clean: rm *.bin *.o *.elf *.dis
通过上面三个文件就可以生成 一个.bin文件 然后就执行了。。。。。。
相关推荐
supjia 2019-12-15
常言道 2019-11-02
Ezenwang 2019-10-08
Rcvisual 2019-04-01
wangteng 2019-05-09
fabian 2018-12-05
blogzhoubo 2019-02-15
coutoperator 2018-09-11
CJYD 2016-12-09
wangxuekuan 2018-03-10
suyongxing 2017-09-17
qiuyabing 2018-09-30
jokesn 2011-03-10
xiaohouye 2011-01-10
santapasserby 2017-03-06
wuyabing 2018-08-17
疯仔嵌入式 2014-02-19
hcr 2013-08-14
tuiyun 2018-03-12