阅读:1838回复:4
如何区分是memory映射还是i/o映射?
如题,拿来一个板卡如何知道是memory映射还是i/o映射来访问
寄存器?谢谢!! |
|
沙发#
发布于:2004-09-07 15:27
是不是即可以memory映射也可以io映射,和硬件没有关系???
使用哪一种都可以访问register |
|
板凳#
发布于:2004-09-08 09:36
书上有关于向某某地址写入0XFFFFFFFF然后回读值的方法来判断是IO还是MEM映射,但是太麻烦;
有一个简单方法,条件是你要装了windriver6 在设备资源添加和测试这一栏就可以看见你的设备资源情况,通常情况下,比如说9054,有MEM0,IO0,IO1三个资源,而IO1就是你所说的映射设备卡。 然后你再使用DS或者直接编写DDK驱动吧 |
|
|
地板#
发布于:2004-09-08 11:19
谢谢zhouandraw
我还想请教一下,为什么要先写入0XFFFFFFFF然后回读值,不可以直接读吗?? 谢谢! |
|
地下室#
发布于:2004-09-10 10:03
首先更正一下,上次说的写0xffffffff是错误的,应该是写全1,sorry。
我的理解写全1到一个基址寄存器,是系统的动作,写了之后读回这个寄存器的值,没有被改变的位(一般来说都是低位是只读的)的长度就是需要向系统申请的地址空间的大小。 这些是系统的PCI总线的动作,不是我们的动作。 |
|
|