浅谈写驱动程序感想
由于工作需要,小弟我已经花了四个星期来写USB驱动程序。
前两个星期熟悉USB协议,后两个星期熟悉DDK,SoftICE等等。现在还正在开发之中。
总体来说,我对目前的进展还算满意;但是我发现写USB驱动实质上和USB协议关系不大。因为Windows已经帮你做了,但是如果熟悉协议,那么你理解起来就顺利的多了。
写过应用程序的人理解写驱动需要一两周的过程,写应用程序时感觉是call别人(SDK,不是MFC),但是写驱动感觉是别人call你,当然这点像MFC,Delphi等等开发。
我自己觉得理解分发例程,要是你有开发ap的经验,一般不难,关键是设备栈的理解和buffer的传送。
理解pnp,我感觉关键是那张状态转换表。
至于电源管理,关键是系统电源状态和设备电源状态的关系。
WMI,只是调试用和系统管理用的部分,不难理解。
事件报告将过时,会被WMI取代。
然后就是同步问题了,这个看过系统方面编程的人不难理解。至于startio实质上就是硬件的同步问题了,不知道这样说的可对。
最后我回过头来理解了中断级别问题。这个困杳了我两个星期。现在才搞明白。
先说这些。
这只是我在学习过程中的一些体会,如果错误请指出,免得我走弯路。愿意和大家一起学习。