浅谈写驱动程序感想

delay10ms 2003-12-29 12:52:34
由于工作需要,小弟我已经花了四个星期来写USB驱动程序。
前两个星期熟悉USB协议,后两个星期熟悉DDK,SoftICE等等。现在还正在开发之中。
总体来说,我对目前的进展还算满意;但是我发现写USB驱动实质上和USB协议关系不大。因为Windows已经帮你做了,但是如果熟悉协议,那么你理解起来就顺利的多了。
写过应用程序的人理解写驱动需要一两周的过程,写应用程序时感觉是call别人(SDK,不是MFC),但是写驱动感觉是别人call你,当然这点像MFC,Delphi等等开发。
我自己觉得理解分发例程,要是你有开发ap的经验,一般不难,关键是设备栈的理解和buffer的传送。
理解pnp,我感觉关键是那张状态转换表。
至于电源管理,关键是系统电源状态和设备电源状态的关系。
WMI,只是调试用和系统管理用的部分,不难理解。
事件报告将过时,会被WMI取代。
然后就是同步问题了,这个看过系统方面编程的人不难理解。至于startio实质上就是硬件的同步问题了,不知道这样说的可对。
最后我回过头来理解了中断级别问题。这个困杳了我两个星期。现在才搞明白。
先说这些。
这只是我在学习过程中的一些体会,如果错误请指出,免得我走弯路。愿意和大家一起学习。
...全文
57 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
delay10ms 2003-12-30
  • 打赏
  • 举报
回复
各位指点的好,小弟先谢过了
delay10ms 2003-12-29
  • 打赏
  • 举报
回复
最后使用SoftICE调试,用SoftICE我不是高手,我也是刚学的,花了我一天。才把环境搭起来。这是个很好的工具。我还只是入门,我的项目也才开始,希望以后能进一步提高,不然不敢写我的感想。
weileily 2003-12-29
  • 打赏
  • 举报
回复
WINDBG+VMWARE一般用在写软驱动上比较好,如果和硬件打交道就还是用SOFTICE和WinDBG了。
wowocock 2003-12-29
  • 打赏
  • 举报
回复
用WINDBG+VMWARE比SOFTICE好
qinxiaogang 2003-12-29
  • 打赏
  • 举报
回复
写驱动是对人性的折磨!!要有思想准备哦^_^
经常要死N次机才能修正一个bug,Windows死机时有时会冲掉源文件.就是用SoftIce调试的一个c文件,特别是DriveEntry,AddDevice,DriverUnload有问题时,必死机无疑.
总之: 1.要经常备份. 2.要有耐心. 3.多看DDK帮助

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧