2440 裸机学习 点亮LED
2024-08-26 03:00:41
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,=
mov r0,#
bl led_on ldr r0,=
bl delay mov r0,#
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文件 然后就执行了。。。。。。
最新文章
- 使用html5 地理位置技术 和 百度地图api查询当前位置
- 一个注解方式webSocket demo
- MongoDB安装说明以及MongoVUE使用
- 启用VTX技术支持启动android的虚拟机 - 报错
- Objective-C:Foundation框架-常用类-NSMutableArray
- 用指令修改DOM
- python django model类型摘要
- 1.1.0-学习Opencv与MFC混合编程之---全屏截图,保存为BMP图像(并增加快捷键)
- 实现DataGridView行的拖动,即实现行的顺序交换
- 使用spark-streaming实时读取Kafka数据统计结果存入MySQL
- CommonJS, AMD ,CMD之间的关系
- configparser模块的常见用法
- 分布式锁与实现(一)——基于Redis实现 【比较靠谱】
- spring boot+自定义 AOP 实现全局校验
- CentOS7安装配置Amanda
- css 书目录相关css+html代码
- umlの交互图
- mfix输出自定义数据
- PHP程序员的技术成长规划 第二阶段:提高阶段
- ASP.NET的优点
热门文章
- ZOJ 3886 Nico Number(筛素数+Love(线)Live(段)树)
- Redis介绍和安装
- 入围T00ls 2018风云人物
- JS 浅谈函数柯里化,不明觉厉
- Visual Studio 2015编译wxWidgets
- intelj idea Database视图竟然还悄悄开进程,不能忍
- Spring Security http标签的use-expressions=";true";属性
- mock---前端搭建模拟服务
- oracle编码转换:AL32UTF8->;ZHS16GBK
- 14.vue路由&;脚手架