Chinaunix首页 | 论坛 | 博客
  • 博客访问: 513062
  • 博文数量: 92
  • 博客积分: 3146
  • 博客等级: 中校
  • 技术积分: 2314
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-27 10:20
文章分类

全部博文(92)

文章存档

2014年(3)

2013年(17)

2012年(16)

2011年(22)

2010年(34)

分类: 嵌入式

2010-10-08 18:54:07

#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里面的代码拷过来了,本人试过很多次,大体来说都是有用的!!在这里和大家分享下!!
阅读(801) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~