worldcup
驱动小牛
驱动小牛
  • 注册日期2004-08-19
  • 最后登录2006-10-19
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1838回复:4

如何区分是memory映射还是i/o映射?

楼主#
更多 发布于:2004-09-07 11:43
如题,拿来一个板卡如何知道是memory映射还是i/o映射来访问
寄存器?谢谢!!
worldcup
驱动小牛
驱动小牛
  • 注册日期2004-08-19
  • 最后登录2006-10-19
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-07 15:27
是不是即可以memory映射也可以io映射,和硬件没有关系???
使用哪一种都可以访问register
zhouandraw
驱动牛犊
驱动牛犊
  • 注册日期2004-03-19
  • 最后登录2005-10-21
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-09-08 09:36
书上有关于向某某地址写入0XFFFFFFFF然后回读值的方法来判断是IO还是MEM映射,但是太麻烦;
有一个简单方法,条件是你要装了windriver6
在设备资源添加和测试这一栏就可以看见你的设备资源情况,通常情况下,比如说9054,有MEM0,IO0,IO1三个资源,而IO1就是你所说的映射设备卡。
然后你再使用DS或者直接编写DDK驱动吧
扒皮周
worldcup
驱动小牛
驱动小牛
  • 注册日期2004-08-19
  • 最后登录2006-10-19
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-09-08 11:19
谢谢zhouandraw
我还想请教一下,为什么要先写入0XFFFFFFFF然后回读值,不可以直接读吗??

谢谢!
zhouandraw
驱动牛犊
驱动牛犊
  • 注册日期2004-03-19
  • 最后登录2005-10-21
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-09-10 10:03
首先更正一下,上次说的写0xffffffff是错误的,应该是写全1,sorry。
我的理解写全1到一个基址寄存器,是系统的动作,写了之后读回这个寄存器的值,没有被改变的位(一般来说都是低位是只读的)的长度就是需要向系统申请的地址空间的大小。
这些是系统的PCI总线的动作,不是我们的动作。
扒皮周
游客

返回顶部