免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5012 | 回复: 13
打印 上一主题 下一主题

究竟什么是驱动? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-08 00:38 |只看该作者 |倒序浏览
我接触LINUX有两三年了,陆陆续续也看了一些关于驱动与内核的书.如ULK,看了部分,目前想学点驱动,在看LDD.感觉是不是驱动就是通过系统调用来实现一些输入输出功能而已?只是相当于封装?  那系统调用怎么驱动设备的? 问题比较菜,但我相信有讨论的价值,因为这问题困惑我蛮久的了,也一直没解决.谢谢大牛的回答.

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
2 [报告]
发表于 2009-02-08 10:06 |只看该作者
驱动程序是用来实现应用与设备之间交流的
也就是说,驱动程序中要做的就是按照设备中需要规定来对接,比如,键盘终端,当你按下键的时候,会触发一个中断事件,那么,就要在中断实践中做一些对应的处理,例如给对应的接口,例如gpio的某个口,你按下键的时候,硬件设备中,那个口的电平肯定会有所改变,从而触发一个中断,这样,你可以在对应的中断实践中实现对接,获得键值等操作.
光是纸上谈兵没有用,估计写写驱动就知道什么是驱动了

论坛徽章:
5
3 [报告]
发表于 2009-02-08 10:18 |只看该作者
我的理解:
所谓Driver, 就是Drive某些特定硬件,使之完成相应功能的软件。
一方面,它内嵌于OS中,提供IO接口。必须符合OS的接口规范,进行系统调用。这个层面讲,驱动是封装的,功能类似。有时它也包含相关协议的软件层。
另一方面,它驱使硬件,使它按正常的状态机转换。这个层面讲,不同的硬件,状态/接口/协议等并不一样,是硬件/协议相关的。

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
4 [报告]
发表于 2009-02-08 11:34 |只看该作者

回复 #1 tiwen21900 的帖子

其实我觉得驱动程序可以定义在两个层面上,在以前的某个帖子中有个兄弟提到:硬件驱动和模块驱动。
所谓硬件驱动,就是指怎样让一块特定的硬件工作起来,它包括设置硬件的控制寄存器,状态寄存器之类的东东,以及中断发生后又怎样设置寄存器等等。我们在开发通常的单片机驱动程序,主要指没有OS的情况,以及一些简单的OS之内的,如ucos-ii,它涉及到的与操作系统整体的关系比较少。
而模块驱动,就是指像Linux这类的操作系统,你不但要完成底层的硬件驱动设计,而且还涉及到它与OS的关系,还包括如何提供给用户空间的操作接口等等,就显得相对复杂了。

写单纯的硬件驱动程序,只要大概知道中断是怎么回事,以及一些硬件特性,就OK了;而模块驱动的话,你不但要对硬件驱动相关的知识有所了解,还要熟知OS的相关知识,并发、锁、文件操作、系统调用、中断等等。因此,入门就显得门槛要高一些了。可以说,一个优秀的Linux驱动工程师,肯定是对Linux内核非常熟悉的。


以上只是我的个人观点,不一定正确,仅供参考

论坛徽章:
0
5 [报告]
发表于 2009-02-08 11:43 |只看该作者
原帖由 T-bagwell 于 2009-2-8 10:06 发表
驱动程序是用来实现应用与设备之间交流的
也就是说,驱动程序中要做的就是按照设备中需要规定来对接,比如,键盘终端,当你按下键的时候,会触发一个中断事件,那么,就要在中断实践中做一些对应的处理,例如给对应的接 ...

对,很支持这说法,中断事件的处理,改变电平了

论坛徽章:
0
6 [报告]
发表于 2009-02-08 11:45 |只看该作者
原帖由 dreamice 于 2009-2-8 11:34 发表
其实我觉得驱动程序可以定义在两个层面上,在以前的某个帖子中有个兄弟提到:硬件驱动和模块驱动。
所谓硬件驱动,就是指怎样让一块特定的硬件工作起来,它包括设置硬件的控制寄存器,状态寄存器之类的东东,以 ...

斑竹还真是强悍,是分两种啊,不过我想是 干第一种的不少,不过学第二种的更多吧

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
7 [报告]
发表于 2009-02-08 12:57 |只看该作者
原帖由 wangling219 于 2009-2-8 11:45 发表

斑竹还真是强悍,是分两种啊,不过我想是 干第一种的不少,不过学第二种的更多吧


呵呵,过奖了,干第二种拿的米肯定比第一种的多了,第一种主要就是看芯片手册,技术含量相对要第一点。希望大家都能走上第二种,成为真正的高手,那多多的米
新年新气象,好梦成真

论坛徽章:
5
8 [报告]
发表于 2009-02-08 18:45 |只看该作者
原帖由 dreamice 于 2009/2/8 12:57 发表


呵呵,过奖了,干第二种拿的米肯定比第一种的多了,第一种主要就是看芯片手册,技术含量相对要第一点。希望大家都能走上第二种,成为真正的高手,那多多的米
新年新气象,好梦成真 :mr ...


如果两种都做烦了, 能否有更好的出路? dreamice兄指点一下。

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
9 [报告]
发表于 2009-02-08 18:51 |只看该作者
原帖由 yidou 于 2009-2-8 18:45 发表


如果两种都做烦了, 能否有更好的出路? dreamice兄指点一下。


转行,"好日子小吃车",自己做小老板
呵呵

评分

参与人数 1可用积分 +3 收起 理由
yidou + 3 明路

查看全部评分

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
10 [报告]
发表于 2009-02-08 19:54 |只看该作者
原帖由 yidou 于 2009-2-8 18:45 发表


如果两种都做烦了, 能否有更好的出路? dreamice兄指点一下。


自己做老板,偶们都去投奔你
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP