教你如何将ARM的代码直接拷到驱动程序中
2013-10-31 14:12
232 查看
#define rGPACON (*(volatile unsigned *)0x56000000) //Port A control
在ARM里面我们是通过上面的那种方法来调用寄存器的,但在LINUX移植到开发板的时候我们发现这些寄存器在Linux里面是完全没有用的,得通过__raw_read1(),__raw_writel( , )这两个函数来该读出并写进相应的寄存器。
但在这里我们可以调用一个函数ioremap来将物理地址映射为内存的虚拟地址,然后再取出相应的值。例如:
#define rGPACON (*((volatile unsigned *)(ioremap((volatile unsigned *)0x56000000,4))))
这样我们在写驱动的时候就可以直接将ARM里面的代码拷过来了,本人试过很多次,大体来说都是有用的!!在这里和大家分享下!!
阅读(366) | 评论(0) | 转发(0) |
0
上一篇:通过NFS挂载使LINUX挂载到S3C2440开发板
下一篇:按键中断的驱动代码
相关热门文章
教你多少招不花钱做网店推广的...
国庆黄金周出行请留意 铁警教...
Mtk Ft6306 touch 驱动
海马刀:修炼葡萄酒专家从菜鸟...
rtl8139网卡驱动程序分析...
linux守护进程的几个关键地方...
stagefright与opencore对比
嵌入式Linux之我行——u-boot-...
嵌入式Linux之我行——内核、...
CodeNavigator -- 程序员必备...
ChinaUnix & ITPUB社区12周年...
ssh连接出现以下提示,求解...
如何扩展MYSQL
准备做一个大型门户,用户什么...
gbk or utf8
给主人留下些什么吧!~~
评论热议
在ARM里面我们是通过上面的那种方法来调用寄存器的,但在LINUX移植到开发板的时候我们发现这些寄存器在Linux里面是完全没有用的,得通过__raw_read1(),__raw_writel( , )这两个函数来该读出并写进相应的寄存器。
但在这里我们可以调用一个函数ioremap来将物理地址映射为内存的虚拟地址,然后再取出相应的值。例如:
#define rGPACON (*((volatile unsigned *)(ioremap((volatile unsigned *)0x56000000,4))))
这样我们在写驱动的时候就可以直接将ARM里面的代码拷过来了,本人试过很多次,大体来说都是有用的!!在这里和大家分享下!!
阅读(366) | 评论(0) | 转发(0) |
0
上一篇:通过NFS挂载使LINUX挂载到S3C2440开发板
下一篇:按键中断的驱动代码
相关热门文章
教你多少招不花钱做网店推广的...
国庆黄金周出行请留意 铁警教...
Mtk Ft6306 touch 驱动
海马刀:修炼葡萄酒专家从菜鸟...
rtl8139网卡驱动程序分析...
linux守护进程的几个关键地方...
stagefright与opencore对比
嵌入式Linux之我行——u-boot-...
嵌入式Linux之我行——内核、...
CodeNavigator -- 程序员必备...
ChinaUnix & ITPUB社区12周年...
ssh连接出现以下提示,求解...
如何扩展MYSQL
准备做一个大型门户,用户什么...
gbk or utf8
给主人留下些什么吧!~~
评论热议
相关文章推荐
- Java虚拟机深入研究
- 转 Google免费的SVN服务器管理VS2010代码 - aehyok - 博客园
- phpmyadmin配置方式
- 微信公众平台接口,asp.net实现
- ByteArrayOutputStream用法
- C#引用非托管.dll
- VC编程中20种各种编程技巧和方法
- struts2 OGNL 表达式
- ThinkPHP 用RBAC::saveAccessList()方法了解RABC的四张表。
- 正则表达式-语法
- Delphi流的操作 转
- 值类型和引用类型
- java通用数据库类
- C++之缺省参数的构造函数、缺省的构造函数及缺省的析构函数
- C/C++随机数生成 rand() srand()
- C++虚函数原理
- struts2采用convention-plugin实现零配置
- C语言中二维数组做输入参数
- C++ 虚函数表解析
- [语法]C语言中二维数组做输入参数