利用w indriver 开发了个usb 的驱动,写个开发心得 项目组需要利用2440 采集数字电视的采样数据,所以让我开发一个usb 的数据采集系统,就两个要求 1 速度要达到500kbyte/s 以上 2 稳定 由于之前没有做过windows 驱动的经验,所以花了3,4 天时间读了读ddk 的文档,期间还上chinapub找个本书,读了免费的第1 章,按照他配置了vc 的 编译环境,呵呵
然后就吧 ddk 下面的bulkusb 源代码进行了修改,写好 usb device 的驱动,有些了个应用程序,测试一下,采集数据是 ok 了,但是发现有时候蓝屏,特别是采集100m 左右,就会出现蓝品
这下没办法了,由于我本身就对 windows 内核编程不熟悉,有调试了大概 3,4 天确认问题可能处在电源管理方面,联系到自己对这方面不是很熟悉,而且时间紧迫,没办法转向 windriver 开发
我安装的是 9
21 版本(请到迅雷下载)
驱动的开发: a 这步开发比较简单,首先确认你的device 固件正确能枚举成功,然后将device 连接到pc usb host 端
b 按照向导指引刷出你的设备进行配置,然后点击编译按钮生成代码
这部分内容请参考安装文档的快速开发向导
应用程序开发: 最主要的几个函数是,opendevice 和 readwrite 函数:其实大家只要摘录向导生成代码的内容即可,这里贴一个我的 static WDU_DRIVER_HANDLE hDriver = 0; static DRIVER_CONTEXT DrvCtx ; static BOOL DLLCALLCONV DeviceAttach(WDU_DEVICE_HANDLE hDevice, WDU_DEVICE *pDeviceInfo, PVOID pUserData) {