打印

【驱动IO端口的疑惑】

[复制链接]
1996|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenmi0201|  楼主 | 2009-2-25 22:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    O’Reilly的LDD 书中指出,访问IO口必须先用request_region注册,再用reiomap映射。 但我看了几个开发板的通过IO口驱动LED的源码,好像都是直接对IO地址进行访问的,请问这是怎么回事? 
     linux驱动中write_gpio_bit()可以对io内存进行访问,而ARM体系中IO内存和IO端口(外设)是统一编址的,照这样理解,访问外设和IO内存是同样的原理啊,为什么还需要iomap映射地址呢?对2410的某一个io口操作,实质操作的是寄存器(0x56000000+offset),这个位于SFR中的地址是物理地址吧?为什么可以不经过映射就可以访问呢?
   还有request_region,request_mem_region,reiomap应该怎么用?



初学ARM LINUX,高手勿见笑! 

相关帖子

沙发
wangkj| | 2009-2-26 08:40 | 只看该作者

uclinux不需要映射,另外,也可能再别的区域进行映射

或者是其他位置已映射。
按照书上写的肯定没错,不那样做的可能正常,属于非规范写法。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

7

帖子

1

粉丝