阅读:1681回复:6
高分请教:如何对pci的局部空间操作?
请教各位:我正在做一块板子的驱动,是学习的,用driverworks产生了代码,可是不知道用什么方式对pci9052的io或memory空间操作,请高手指教,以分相谢!
|
|
沙发#
发布于:2004-02-25 17:42
用in和out函数可以操作
|
|
|
板凳#
发布于:2004-02-25 20:14
用in和out函数可以操作 请再讲细致一些好吗? |
|
地板#
发布于:2004-02-25 22:39
ind(address,counter)是从地址ADDRESS读COUNTER个双字。
outd(address,number)是向address地址写数据number. |
|
地下室#
发布于:2004-02-26 09:25
对,就是这样
|
|
|
5楼#
发布于:2004-02-27 13:08
这个问题很简单:
首先对内存和IO的操作在DRIVERWORKS中用到KIoRange和KMemoryrange 两个类,这两个类中的成员函数有inw(),outw(),ind(),outd()等. 在你通过DRIVERWORKS设计的"设备类/即插即用类".H中定义KIoRange和KMemoryrange 两个类的实体,然后在"设备类/即插即用类".CPP文件中调用他的初始化函数,然后就可以调用了他们的inw(),outw(),ind(),outd()成员函数了,数据被读/写到缓冲区,然后通过IRP返回到你的 应用程序中. 如果你想具体知道怎么用,可以参考"Windos 2000/XP WDM设备驱动程序开发"一书中第13章的内容! [编辑 - 2/27/04 by chengshiboy] |
|
6楼#
发布于:2004-02-27 17:46
谢谢CYoung ,wwenguang ,chengshiboy 几位,问题解决,现在给你们加点分吧!
|
|