我是一名学生,暑假想学习一下如何编写驱动程序,请问我应该从哪方面入手?

bigfatty   2008-7-8 20:13 楼主
我是一名学生,暑假想学习一下如何编写驱动程序,请问我应该从哪方面入手?
比如说就编写一个优盘的驱动程序。
谢谢各位高手。

回复评论 (25)

学好汇编和C,然后找一些驱动程序的例子,看看别人是怎么写的,然后模仿着写
点赞  2008-7-8 20:43
买一本驱动程序的书来看,没书没法学。
点赞  2008-7-8 22:01
先从从Linux开始,因为: 开放源代码,所有的代码你都可以找到,还有资料多,很多相关的书,在网上也可以找到很多相关资料,最后用的人也很多,在eeworld里也有很多牛人,不懂很方便提问.
点赞  2008-7-8 22:11
你想写PC机上的驱动?还是嵌入式的驱动?Windows的驱动?还是Linux的驱动?
点赞  2008-7-9 15:45
我正在学写驱动.
别人给的程序要么看的迷迷糊糊(没注释),要么就是不设计硬件,郁闷
想自己写,但实在是不知道硬件访问应该写在什么地方.
点赞  2008-7-10 10:44
驱动没那么神秘,其实驱动很无聊,
就是看资料,改代码
点赞  2008-7-10 12:43
我也正在编写驱动,个人觉得可以先从LINUX驱动编程开始,熟悉简单的字符驱动,然后再结合I/O的控制,这样就可以再深入理解LINUX的驱动编程了。
点赞  2008-7-10 14:03
没接触过的,会感觉驱动很神秘。只要真正动手写过一个小驱动,就知道,不过如此。也是码代码,框架步骤流程都是固定的。
点赞  2008-7-10 15:01
不知道关于具体硬件的访问应该写在什么地方?
点赞  2008-7-11 08:55
同理阿
点赞  2008-7-11 16:16
也许单片机驱动开始比较好。
点赞  2008-7-12 11:10
没接触过,感觉驱动很神秘。
点赞  2008-7-12 11:34
所有对硬件的操作,都在驱动层。
不过驱动层也分多层,最简单的是mdd/pdd的分法,MDD将同一类接口的一些操作都抽象出来,这里不涉及硬件寄存器和接口的直接操作,但是会调用pdd层的函数。而pdd层就是直接初始化硬件设置,直接对硬件寄存器进行操作了。这里实现很多回调函数,供mdd层调用。回调函数的命名、输入输出参数、返回值等都由mdd层定义好的。

所以,操作系统的上层是不需要关心底层硬件的,因为操作系统的驱动层已经将底层硬件的操作转成了统一的接口,提供给上层应用调用,这个接口就是操作系统的API了。
点赞  2008-7-12 12:46
有C编程的经验吗?否则,太难进入了!还要了解windows internal(WDM的驱动) 的东东!
点赞  2008-7-15 21:23
驱动也分好多种~基于各种平台~最好还是做嵌入式linux或者WinCE的驱动吧~比较多人搞这2个平台的驱动~而且比较好玩~个人认为~呵呵
点赞  2008-7-16 14:37
找到简单的设备的datasheet
找到样例代码
自己动手
点赞  2008-7-16 15:19
linux方向
源代码是最好的资料,可以看linux0.11的代码,比较小 以读懂
driver目录+google搜索
有个项目做更好了
赵炯博士的那本《linux内核完全注释》很不错 有免费pdf版 蛮清晰地
windows方向
不太熟 有个论坛不错:http://www.driverdevelop.com/first.html(驱动开发网)
点赞  2008-7-18 12:41
觉得里面好多高手
点赞  2008-7-19 21:24
看DDK的帮助文档就行了,其他的书籍基本都是照抄DDK
点赞  2008-7-22 23:07
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复