免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 527639827
打印 上一主题 下一主题

ioremap问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-05-22 22:57 |只看该作者
回10楼, 就是只有在 MEMORY MAPPED IO方式时才用到IOREMAP这个函数.

如果时IO PORT,那么是另外的一个端口地址空间,直接用 IN, OUT 指令访问.

建议看看X86或者一般体系结构的书.

论坛徽章:
0
12 [报告]
发表于 2010-05-24 08:15 |只看该作者
回10楼, 就是只有在 MEMORY MAPPED IO方式时才用到IOREMAP这个函数.

如果时IO PORT,那么是另外的一个端口 ...
accessory 发表于 2010-05-22 22:57



    不是吧,ioremap的作用是把一段物理地址映射到虚拟空间,这样内核就可以对那段物理地址进行操作了。

  驱动程序里面不都是通过ioremap函数将设备本身的寄存器映射到内核虚拟空间,这样就可以对配置寄存器进行操作,从而控制设备了么?

  难道我理解得有错误?

论坛徽章:
0
13 [报告]
发表于 2010-05-24 09:05 |只看该作者
回复 11# accessory


    谢谢
的确如此!!

论坛徽章:
0
14 [报告]
发表于 2010-05-25 00:34 |只看该作者
回复 12# 527639827

建议看下计算机体系结构的书。如果看过的话,可以复习下。

我说的是X86结构,他们是分开IO PORT 和 IO MEMORY的。 IO PORT 用专门的指令。

估计你现在只做过ARM结构的,他们的 CPU 是没有IO PORT观念的,只有 MEMORY.

其实我觉得你可以去嵌入式版多看看,那边做类似东西的也许更多。

论坛徽章:
0
15 [报告]
发表于 2010-05-27 18:16 |只看该作者
作用是将外设IO地址映射到内核空间中,让系统可以对外设io进行操作

论坛徽章:
0
16 [报告]
发表于 2010-05-28 14:56 |只看该作者
should be mapped to high memory address in kernel space
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP