PCI驱动开发总结

1 PCI驱动的安装
修改inf文件的hardware id
%dposaf.DeviceDesc%=dposaf_Device, PCI\VEN_10B6&DEV_2506 ; TODO: edit hw-id
//自动生成kdmf时有TODO项,在此可以看到到我开发使用的hardware id是PCI\VEN_10B6&DEV_2506
这个是在硬件插入时设备管理器中查看得到 hardware ID

2 联调使用的工具,在WIN7 32BIT上使用了dbgview,这个工具也有64bit版本,使用DbgPrint打印驱动LOG
在win10上使用traceview,可以打印TraceEvents LOG
但traceview更方便,只要使用框架自动生成的trach.h中的Tracing GUID 即可连接,并且只有驱动自己的打印,不会有在win10 dbgview中的太多其它进程的刷屏打印,导致LOG检索很麻烦

3 PCI驱动的BAR地址,可以通过WINDOWS查看,还可以通过DOS系统查看,并且DOS中的更准确

4 建议驱动框架先用kmdf自动生成,并且可以使用更新或者devcon工具安装可用,再编写驱动代码,这样驱动安装过程不会有问题。
win7只需要 .sys .inf win10必须在测试模式下,使用.sys .inf .cat缺一不可

5 关于各种GUID,
trace.h中的GUID是为了让traceview可以打印到LOG
WdfDeviceCreateDeviceInterface函数使用的GUID,是给应用程序提供一个接口,保证应用程序能够找到驱动,然后在应用中使用DeviceIoControl等命令就可以和驱动通信。而整个通信过程是框架实现,我们只要编写好callback函数就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值