由于项目需要,需要将此前在XP上实现的PCIE驱动移植到WIN7上来,此前用到的是VS+DDK的方案,相对来说比较复杂。 在刚着手移植工作,我采用的是框架是WDF+VS2012的方案,但由此生成的驱动文件无法成功安装到PC机上,这让我很是郁闷。 经过了两天的挣扎后,我决定转用WINDRIVER的方法,做过WINDOWS驱动的都会清楚,WINDRIVER会使开发进度得到提升,因为它的简易性。折腾了一个晚上后,终于将它的开发环境搭建成功了。下面简单的讲述一下环境搭建过程:
1、安装VS2012
安装VS2012略过,主要用它来做数据传输应用程序的,WINDRIVER提供了一系列API接口,方便了用户,使用户能直接进入用户态的编程,因为内核态的编程它已做好,不需要进行修改,当然你也可以对它进行修改,这便要求你对驱动编程有一定的认识。
2、安装WINDRIVER
在网上下个WINDRIVER,成功安装后,可以用它来生成驱动文件,这个相对比较容易。不进行详述,通常PCI卡插进电脑后,用Driver Wizard向导生成的SYS文件是可以安装上去的。
3、配置环境
由于目标机是WIN7_64位的系统,用WIN32去写应用是行不通的,所以需要配置一下环境。 在新建的MFC工程里打开工程属性,将链接器里目标计算机修改成MachineX64 (/MACHINE:X64)的,通常是采用32位的,这里需要修改成X64的才行,然后便可以平台里选择X64,选择后再将常规->MFC的使用修改为“在共享DLL中使用MFC”。第三步“链接器”->"高级"->"入口点"修改成WinMainCRTStartup,这是由于默认会使用控制台的入口(MAIN),此点修改可将入口定为MFC的入口。第四步:配置头文件、库文件目录等,在VC++目录下“包含目录里”加入