pci卡设计心得
2006-04-08 11:38:57 来源:WEB开发网找到了pci卡的配置空间后,读出space0的基地址,然后进行物理地址到线性地址的转换,我又偷了懒,vtools提供的example中有实现此功能的vxd源代码,直接用vc++编译成vxd就可以共win app使用了。所以实际上我的app程序使用了两个vxd,一个用来专门找卡,一个用来地址转换。
至于app如何调用vxd,可以参看vc的参考书,一般都有介绍。
下面将一下如何安装vxd到系统中,我编的vxd都是动态加载的(pnp一般都用动态加载vxd)要编写一个inf文件以便系统将vxd安装进去。我用的是windriver生成的inf文件模板,然后再按照需要进行修改,自然加上我的大名了。编完了inf文件后,就可以安装了。一般情况如果你插上pci卡windows启动后就会发现新硬件,你只要按照以前安装硬件的步骤进行就可以了只是在选择安装文件时选择自己编写的inf文件就可以了。我觉得一般的安装过程就是将vxd文件拷入系统的文件夹,即windows目录下,以便当app加载vxd时,系统可以找到vxd程序,进行动态加载。
下面是我的inf文件
:
[Version]
Signature=$CHICAGO$ ;必须这么写
Class=PLX ;可以自己改
Provider=%SHENLI% ;制作者
[Manufacturer]
%Manufacture%=SECTION0
[SECTION0]
%my_card%=my.install,PCI\VEN_10b5&DEV_9050 ;my.install表示了安装过程所要做的事,
[my.install]
CopyFiles=CopyFiles_PLX10b5 ;主要做拷贝文件和注册表添加
AddReg=AddReg_PLX10b5
[CopyFiles_PLX10b5]
Vxd8_25.vxd
[AddReg_PLX10b5]
HKR,,DevLoader,0,Vxd8_25.vxd
[Strings]
Manufacture="BUAA202" ;这些信息会在安装时显示
my_card="PLX9052"
更多精彩
赞助商链接