发新话题
打印

一起分享Windows驱动开发的心得

一起分享Windows驱动开发的心得

一起分享Windows驱动开发的心得


艰难的Windows驱动开发,这座大山我爬过来了,愿意与大家分享经验。
我建了一个msn学习群:group264790@msnzone.cn。
欢迎想成为Windows开发高手,想学习Windows驱动开发的朋友加入讨论。

下面是我写的一本驱动开发的图书的前言:

1.你有这样的困惑吗?
你在学习Windows驱动程序开发的时候,有没有这样的感觉:觉得入门太难了;总有一大堆莫名其妙的术语,如“中断请求级别”、“派遣函数”、“线程上下文”、“完成例程”等;总能碰到很多诸如PCI总线、USB总线等内容;还有那些无休止的死机、蓝屏等错误……
这可能让你感到很困惑。但这很正常,因为Windows驱动开发涉及Windows操作系统底层的很多知识,而且很多概念非常抽象,不容易理解。这对于入门人员,甚至有一定基础的开发者都有一定的困难。我也曾经有过和你们一样的经历,当然除了困惑之外,还有解决困惑之后的喜悦。
2.我的经历
当我第一次接触Windows驱动开发时,就觉得非常吃力。那是在研究生一年级的时候,实验室在开发一个PCI总线视频采集卡,需要编写驱动程序来读取PCI卡上的数据。由于不熟悉Windows驱动程序,编译、安装等很简单的问题都困惑我很长时间。通过长时间的摸索,当我第一次用自己编写的驱动程序采集到PCI卡上的数据时,我感到非常兴奋。虽然几秒钟后,Windows无情地蓝屏重启了,但我依然感觉很有成就感。那时候最喜欢做的事情,就是叫周围的同学“欣赏”设备管理器中我编写的设备。又经过很长时间,我才最终将蓝屏死机的原因找出,让驱动程序稳定地运行。
后来,我又开发了很多驱动程序,有PCI驱动、USB驱动、摄像头驱动、SDIO驱动。渐渐地,我发现驱动程序开发并没有想象中的那么困难。只要对驱动程序开发“入门”后,它就不再是一个神秘的事情了。
我还编写过一些Linux驱动程序,结果发现Linux设备驱动程序和Windows设备驱动程序有很多类似的地方。相比而言,Linux驱动模型比较简单,加之Linux内核的源码是开放的,所以很多地方可以对照Linux内核源码进行学习。而Windows驱动程序模型比较复杂,其内核也没有提供源码,所以Windows驱动程序的编写相对困难一些。
3.圆自己一个梦
回想当初自己学习Windows驱动开发的情景,感想颇多。各种各样的困难,完成一个驱动开发后的喜悦,为了找一本好的学习资料几乎翻遍了图书馆……这些至今都还深深地印在我的脑海里。
随着开发经验的积累和技术水平的提升,越来越想写本Windows驱动开发的书,以便向更多的人介绍Windows驱动程序的开发经验,使那些初学者快速入门,少走弯路,也能让已经有一定基础的人有所借鉴。这也算是圆我自己的一个梦吧。
经过一年多的努力,我们终于完成了这个 “大工程”,心中也自然非常喜悦。这无论是对我们,还是对渴望学习Windows驱动开发的人,都算是有了一个“交代”。
但愿这本书能够成为想致力于Windows驱动开发人员的良师益友,让你有所获益。

TOP

开发驱动程序,确实需要很多底层的东西,首先要有硬件知识

TOP

发新话题