究竟什么是驱动?

发布于 2022-09-23 15:03:30 字数 165 浏览 17 评论 0

我接触LINUX有两三年了,陆陆续续也看了一些关于驱动与内核的书.如ULK,看了部分,目前想学点驱动,在看LDD.感觉是不是驱动就是通过系统调用来实现一些输入输出功能而已?只是相当于封装?  那系统调用怎么驱动设备的? 问题比较菜,但我相信有讨论的价值,因为这问题困惑我蛮久的了,也一直没解决.谢谢大牛的回答.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

雨轻弹 2022-09-30 15:03:30

驱动程序是用来实现应用与设备之间交流的
也就是说,驱动程序中要做的就是按照设备中需要规定来对接,比如,键盘终端,当你按下键的时候,会触发一个中断事件,那么,就要在中断实践中做一些对应的处理,例如给对应的接口,例如gpio的某个口,你按下键的时候,硬件设备中,那个口的电平肯定会有所改变,从而触发一个中断,这样,你可以在对应的中断实践中实现对接,获得键值等操作.
光是纸上谈兵没有用,估计写写驱动就知道什么是驱动了

不如归去 2022-09-30 15:03:30

我的理解:
所谓Driver, 就是Drive某些特定硬件,使之完成相应功能的软件。
一方面,它内嵌于OS中,提供IO接口。必须符合OS的接口规范,进行系统调用。这个层面讲,驱动是封装的,功能类似。有时它也包含相关协议的软件层。
另一方面,它驱使硬件,使它按正常的状态机转换。这个层面讲,不同的硬件,状态/接口/协议等并不一样,是硬件/协议相关的。

玉环 2022-09-30 15:03:30

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

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

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

指尖上的星空 2022-09-30 15:03:30

原帖由 T-bagwell 于 2009-2-8 10:06 发表
驱动程序是用来实现应用与设备之间交流的
也就是说,驱动程序中要做的就是按照设备中需要规定来对接,比如,键盘终端,当你按下键的时候,会触发一个中断事件,那么,就要在中断实践中做一些对应的处理,例如给对应的接 ...

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

蝶…霜飞 2022-09-30 15:03:30

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

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

尹雨沫 2022-09-30 15:03:30

原帖由 wangling219 于 2009-2-8 11:45 发表

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

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

超可爱的懒熊 2022-09-30 15:03:30

原帖由 dreamice 于 2009/2/8 12:57 发表

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

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

只为守护你 2022-09-30 15:03:30

原帖由 yidou 于 2009-2-8 18:45 发表

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


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

夜访吸血鬼 2022-09-30 15:03:30

原帖由 yidou 于 2009-2-8 18:45 发表

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

自己做老板,偶们都去投奔你

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文