最近学习编写驱动程序。在驱动写好之后,如何确定驱动是否被真正加载到系统并且不知道是否能正确的调用。反正这个问题把感觉——老虎肯天:无处下口。后来,在网上发现一篇介绍驱动程序加载和测试实验的文章,如获至宝握烦了一阵子,总。不过我忘记在哪找到的了,仅在这里向那位原创者表示深深地敬意!
我用的是Windows CE 5.0的操作系统,用Platform Builder集成环境编写驱动程序和调用该驱动的应用程序的。编译后它们都运行中模拟环境中(Emulator:X86)。驱动中相关函数中无具体操作硬件的动作,仅仅有反应该函数被应用程序调用后反馈给测试者的一些信息。
先介绍大体的流程吧。
首先,利用Platform Builder创建一个平台(我创建的是mobile的平台)。
然后,创建一个“Windows CE Dynamic link library”项目,并取个名字。并添加相应的函数,这里不具体介绍。
然后,编译平台和项目。之后,打开Platform Builder菜单中的Open Build Release Directory,输入dumpbin /exports mydriver.dll,看看DLL中的函数是否正确导出。
然后,在添加projiec.reg部分。
其次,创建一个“Windows CE Application”项目,添加对驱动进行操作的函数。具体见我上传的源代码。
最后,编译应用程序代码。然后,选择Platform Builder菜单中的make image选项,重新生成平台映像。
测试的时候,选择Platform Builder菜单中的Run Progam选项,选择刚才的应用程序,运行。然后你分别按下电脑上的“A”“S”“D”键,就能在Platform Builder的output窗口中发现Dll中相关函数被调用的信息。
这是我学习的一点点经验,记录下来与相关的初学者一起分享,高手们手下留情~。
我无法上传到csdn,只因工程大,超过15m。如果哪位想要源代码,留下联系方式或给我推荐一个能上传100多M的地方,我把工程上传过去。