免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3814 | 回复: 8
打印 上一主题 下一主题

硬件寄存器内存映射 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-25 23:52 |只看该作者 |倒序浏览
小弟新手,向前辈请教一点问题,先声道谢!

我在写驱动时,在程序中访问硬件中的寄存器,寄存器是怎样映射到内存中的?映射的这相地址如何知道是多少?在程序中直接访问这个地址就相当于访问这个硬件的寄存器。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
2 [报告]
发表于 2009-04-25 23:58 |只看该作者
推荐LZ看一下LDD3中的IO读写的那一章

论坛徽章:
0
3 [报告]
发表于 2009-04-26 10:55 |只看该作者
就是用mmap,随便找个mmap的例子一看就明白了

论坛徽章:
0
4 [报告]
发表于 2009-04-28 16:16 |只看该作者
驱动里面用ioremap_nocache(),返回映射后的虚拟地址

论坛徽章:
0
5 [报告]
发表于 2011-03-08 13:12 |只看该作者
只知道理论,还没有实践操作过

论坛徽章:
0
6 [报告]
发表于 2011-03-13 00:04 |只看该作者
两步:
1, request_mem_region()
2, ioremap()

论坛徽章:
0
7 [报告]
发表于 2011-03-13 19:56 |只看该作者

论坛徽章:
0
8 [报告]
发表于 2011-03-14 14:45 |只看该作者
将硬件寄存器地址映射到内核内存空间用函数ioremap,如果想将硬件寄存器地址映射到用户空间可在驱动程序中构造一个mmap的方法。

论坛徽章:
0
9 [报告]
发表于 2011-03-16 22:01 |只看该作者
同意6楼和8楼,以前在产品中做过这样的小驱动。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP