阅读:1677回复:8
dos 下的pci 映射问题
我是用c 语言写dos 下的 driver
现在有一个问题,我写基地址到pci head type0型的基地址区 然后使能command 命令,我发现bios已经作了这些工作,所以 我只需改一下它的基地址即可,因为它的地址是32位的,我在 dos 实模式下,只有20位地址,所以我给他指定为0xd0000, 然后我用一个指针指向它,我想我通过这个指针,就应该 看到我的设备映射过来的内容,但是我现在发现看到的结果不对,不知为何,我想请教各位大虾,我该怎样做? 留言 or 发 email 给我wang_cj@eyou.com |
|
沙发#
发布于:2002-05-09 00:40
你设计的板卡有没有设置是直接I/O还是内存映射的方式?
你如果使用直接I/O的读写,应该查到板卡的基地址,然后读写通过基地址+偏移地址,这样你可以操作你的板卡。 |
|
|
板凳#
发布于:2002-05-09 08:18
amingPan:你好!非常感谢
它是memory 映射 我从它的基地之中可以读到bios的设置值,这个只是对的 我现在在此出些一个0xd0000 就是映射不过来 告诉你我的qq:79202568 我们可以聊聊吗? |
|
地板#
发布于:2002-05-09 19:22
直接用INT 1AH试试
|
|
|
地下室#
发布于:2002-05-13 09:47
建议你用32位地址进行操作.
|
|
5楼#
发布于:2002-05-13 12:18
是不是你的指针用错了,用32位的指针去访问20位的地址。编译器的选项好好看看有没有用错。
|
|
6楼#
发布于:2002-05-13 14:25
wuqix:
非常感谢你,我是在dos是模式下工作,没法用 32位地址?还请多多赐教 |
|
7楼#
发布于:2002-06-28 10:54
你是用什么语言呢? :cool:
|
|
|
8楼#
发布于:2002-06-28 11:01
不好意思,刚才没有看清,要是汇编的话,直接用in和out语句就可以了,当然要知道基地址和寄存器的偏移量。 :cool: :D
|
|
|