arm裸机程序--LED程序设计
2011-03-05 22:11
344 查看
arm的逻辑程序需要一个汇编文件,这个在另一篇博文里写了。汇编文件用于初始化寄存器,跳转到main。这里主要看LED程序的c文件。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/27/44a863c42dacf693601adda5220cb0ed.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/27/ad3dbc8a674b640b556fef2e832ec4f5.gif)
===================
delay的解释:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/27/d2adba2858e54e97b44a1f32f193812f.gif)
单位:
==============================================
控制寄存器的设置:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/27/2a6fa55611055f24b07ec763e020187a.gif)
3是11b,GBPCON是两位控制一个I/O,控制第5个端口的是10、11位,所以11在0、1位,需要左移10位。
注意,改变GBPCON的需要改变的位,其它的不能变。
变为0的话要与0,不变的位与1;
变为1的话要或1,不变的位或0;
0与0,1或1;
============
rGPBCON是什么?
在另一个.c文件里(2440addr.h),rGPBCON是这样定义的。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/27/aa96549262a7fcb5c436f3cf1e37f89f.gif)
看到时定义为一个宏,看和2440手册里是否一样:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/27/5a38a292da3275c59d86555dc0963612.gif)
物理地址是一样的。
所以说,rGPBCON就是一个物理地址,32位。
==============================================
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/27/44a863c42dacf693601adda5220cb0ed.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/27/ad3dbc8a674b640b556fef2e832ec4f5.gif)
===================
delay的解释:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/27/d2adba2858e54e97b44a1f32f193812f.gif)
单位:
==============================================
控制寄存器的设置:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/27/2a6fa55611055f24b07ec763e020187a.gif)
3是11b,GBPCON是两位控制一个I/O,控制第5个端口的是10、11位,所以11在0、1位,需要左移10位。
注意,改变GBPCON的需要改变的位,其它的不能变。
变为0的话要与0,不变的位与1;
变为1的话要或1,不变的位或0;
0与0,1或1;
============
rGPBCON是什么?
在另一个.c文件里(2440addr.h),rGPBCON是这样定义的。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/27/aa96549262a7fcb5c436f3cf1e37f89f.gif)
看到时定义为一个宏,看和2440手册里是否一样:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/27/5a38a292da3275c59d86555dc0963612.gif)
物理地址是一样的。
所以说,rGPBCON就是一个物理地址,32位。
==============================================
相关文章推荐
- ARM裸机程序--GPIO实验 LED(2)
- mini2440(6) 我的第一个ARM汇编程序---LED灯裸机硬件控制程序(2)
- ARM裸机程序-点亮LED
- mini2440(4) 我的第一个ARM汇编程序---LED灯裸机硬件控制程序
- ARM裸机程序开发之led流水灯程序
- ARM裸机程序之LED灯
- ARM裸机程序--GPIO实验 LED(1)
- ARM入门实践(一)----Mini6410上最简单的LED点灯裸机程序
- ARM裸机程序开发——按键控制LED灯
- Eclipse开发调试ARM裸机程序(三)C语言LED_LINUX使用DNW
- ARM 裸机程序学习 01 - 点亮LED
- ARM裸机程序开发10(LED控制程序)
- Eclipse开发调试ARM裸机程序(二)LED_从ARM到GNU
- ARM裸机程序研究 - S3C2440时钟初始化
- Eclipse开发调试ARM裸机程序(六)关于裸机调试i2c记录
- Eclipse开发调试ARM裸机程序(七)LCD
- FriendlyARM UART裸机程序源码
- ARM 裸机程序学习 03 - 发送SOS信号(汇编 + C)
- arm-linux-gcc裸机程序开发(三)
- ARM裸机程序设计—LCD程序设计