3190|5

80

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请教,一个AT91SAM9260的实地址虚地址映射问题 [复制链接]

请教大家
两个与 LINUX 地址映射有关的问题,
问题 1:

我们所用的 AT91SAM9260 的寄存器的实际地址是 0xFFF7 8000 .. 0xFFFF FFFF(实地址,Datasheet中), 我看 Linux 的程序中把这个地址映射到 0xFEF7 8000 .. 0xFF00 0000(虚拟地址)。
这样的话 Datasheet上的寄存器地址和程序中使用的地址(虚拟地址)就有个差值,我操作寄存器的时候,得自己去换算一下。
这里, 就有个问题呢,我想的是,要是直接把实地址的 0xFFF7 8000 也映射到 虚地址的 0xFFF7 8000 ,两个值都一样的话,这样我程序里操作寄存器就不用去换算了,就可以直接使用 Datasheet 上所写的地址了。
那他们为什么要映射到 0xFEF7 8000 呢??有什么特殊的原因吗??

程序中的寄存器映射:                                            我的想法:
      
实地址                   虚地址            实地址                  虚地址     

          差值 0x0100 0000                           差值 0x 0
              /     \                                  /     \
            /         \                              /         \
          /             \                          /             \
0xFFF7 8000  __      __ 0xFEF7 8000        0xFFF7 8000 __       __ 0xFFF7 8000
   .           |    |                            .       |     |
   .           |=>  |                            .       |=>   |
   .           |    |                            .       |     |
0xFFFF FFFF  __|    |__ 0xFF00,0000        0xFFFF FFFF __|     |__ 0xFFFF FFFF

刚刚想到一个原因,好像在哪里看到过,最顶部的一部分地址 0x xxxx xxxx ... 0xFFFF FFFF linux 内核要使用,是这个原因吗??  

问题 2:
另一个问题是,我现在所知道的一个说法是,在内核中才能操作寄存器地址。 在应用程序中不能直接读取寄存器的值(如某个IO口的电平)。
我的理解是,这个权限的控制,无非是在 MMU 初始化时,对这些寄存器的地址的权限做了限制,那如果在 MMU 初始话时,对这些寄存器地址的权限做适当的修改,比如不限制权限的话,那我在应用程序中就可以直接操作这些寄存器,这样不是会很方便吗?? 比如我想读一个 IO 的电平,就不用去修改驱动了。 可以这样吗???

谢谢了先。。

最新回复

继续请教,顶顶  详情 回复 发表于 2009-7-31 12:47
点赞 关注

回复
举报

61

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
把你的程序做成 基地址+偏移的形式,遇到这种情况就好办了~~~~只要改基地址就OK
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
ARM处理器在用户模式并不限制访问IO,但地址可以没有映射,所以可能无法访问IO.只要在你的进程中映射了IO地址,就可以访问了....
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

4
 
感谢回复。
但还是不太明白呢, 继续请教。。。
 
 
 

回复

47

帖子

0

TA的资源

禁止访问

5
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

6
 
继续请教,顶顶
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
立即报名 | 2025 瑞萨电子工业以太网技术日即将开启!
3月-4月 深圳、广州、北京、苏州、西安、上海 走进全国6城
2025瑞萨电子工业以太网技术巡回沙龙聚焦工业4.0核心需求,为工程师与企业决策者提供实时通信技术最佳解决方案。
预报从速,好礼等您拿~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表