问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux中设备和驱动到底有什么区别,有什么联系啊?学习2.6的内核,搞得好晕呢!

发布网友 发布时间:2022-04-28 12:15

我来回答

4个回答

热心网友 时间:2023-10-09 00:46

设备和驱动,有啥区别,一个硬件一个软件。linux驱动现在到2.6版已经改进很多了,现在的驱动架构早已框架化,硬件生产商提供一套sheet表,里面详细注明了该硬件的各项参数,重点是各个寄存器的赋值方式,中断号,某些特殊管脚的地址等,参照这个sheet表,照linux驱动设计流程写驱动,一般是cdev(其他的没写过不太懂,这就不提了),重点是注册中断,对管脚的轮询,读写寄存器等。
这样硬件的状态通过硬中断或轮询管脚状态获得,上报给工作队列,唤醒进程,在对寄存器读写操作,这样硬件和软件就联系起来了。

lz重点是要学驱动还是kerenl?学kernel的话2.6版本太高了(若只是学习代码修改修改除外),很多东西隐藏太深不易理解啊!追问重点想学习驱动,不知道什么水平才能作为linux驱动工程师啊?

热心网友 时间:2023-10-09 00:47

2.6.x版本的内核,核心部分变动不大。
每个小版本之间,都是在不停的添加新驱动、解一些小bug、对现有系统进行完善。
你如果让我在这里说每个版本之间的区别的话,估计要写好几页了。建议你到官网(www.kernel.org/目前已经可以访问了)上去看下每个版本的ChangeLog。这个东西,没有任何人比它说的更详细了。如果你对某个修改比较感兴趣,还可以下载对应的patch包,看看那些Hacker究竟做了哪些修改。
当然,最方便的方法,还是使用git把Kerne的代码下载下来,然后用git log命令可以看到每次修改的历史信息的。非常方便和详细。
不明白的请追问。追问谢谢您的回复,感觉很受用,不过那个设备和驱动是什么关系啊?比如那个总线-设备-驱动模型,设备和驱动有何不同啊?我所理解的设备是外围的硬件,驱动是驱动硬件的软件,为什么设备还有结构体描述它呢?

热心网友 时间:2023-10-09 00:47

设备建立在驱动之上;例如串口,它是一个设备,我们可以用读写文件的方式去访问它,而驱动则是直接跟串口的硬件层打交道的,它提供相关的接口函数给设备

热心网友 时间:2023-10-09 00:48

LINUX中外部硬件也是用文件形式来表示的就是etc目录下的,叫做设备,驱动还是驱动程序

热心网友 时间:2023-10-09 00:46

设备和驱动,有啥区别,一个硬件一个软件。linux驱动现在到2.6版已经改进很多了,现在的驱动架构早已框架化,硬件生产商提供一套sheet表,里面详细注明了该硬件的各项参数,重点是各个寄存器的赋值方式,中断号,某些特殊管脚的地址等,参照这个sheet表,照linux驱动设计流程写驱动,一般是cdev(其他的没写过不太懂,这就不提了),重点是注册中断,对管脚的轮询,读写寄存器等。
这样硬件的状态通过硬中断或轮询管脚状态获得,上报给工作队列,唤醒进程,在对寄存器读写操作,这样硬件和软件就联系起来了。

lz重点是要学驱动还是kerenl?学kernel的话2.6版本太高了(若只是学习代码修改修改除外),很多东西隐藏太深不易理解啊!追问重点想学习驱动,不知道什么水平才能作为linux驱动工程师啊?

热心网友 时间:2023-10-09 00:47

2.6.x版本的内核,核心部分变动不大。
每个小版本之间,都是在不停的添加新驱动、解一些小bug、对现有系统进行完善。
你如果让我在这里说每个版本之间的区别的话,估计要写好几页了。建议你到官网(www.kernel.org/目前已经可以访问了)上去看下每个版本的ChangeLog。这个东西,没有任何人比它说的更详细了。如果你对某个修改比较感兴趣,还可以下载对应的patch包,看看那些Hacker究竟做了哪些修改。
当然,最方便的方法,还是使用git把Kerne的代码下载下来,然后用git log命令可以看到每次修改的历史信息的。非常方便和详细。
不明白的请追问。追问谢谢您的回复,感觉很受用,不过那个设备和驱动是什么关系啊?比如那个总线-设备-驱动模型,设备和驱动有何不同啊?我所理解的设备是外围的硬件,驱动是驱动硬件的软件,为什么设备还有结构体描述它呢?

热心网友 时间:2023-10-09 00:47

设备建立在驱动之上;例如串口,它是一个设备,我们可以用读写文件的方式去访问它,而驱动则是直接跟串口的硬件层打交道的,它提供相关的接口函数给设备

热心网友 时间:2023-10-09 00:48

LINUX中外部硬件也是用文件形式来表示的就是etc目录下的,叫做设备,驱动还是驱动程序
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我想问扣扣邮箱在哪里 求几道奥数题的答案(算数的)要简便得算哈 能不能给我六十道五年级奥数题.要答案 六十道五年级奥数题? 比亚迪和哪国合资的车 入党政审有什么步骤? 请问邮箱在哪里我怎么找不到 夫妻相克表太准了 夫妻相克会离婚吗? 夫妻相克表太准了夫妻五行相克化解方法 无法登录学信网怎么办? 如何给微信加文字边框 linux usb 设备驱动有什么用 unix linux的驱动机理是什么? 一个Linux驱动程序的主要流程与功能是什么? 微信公众平台发消息怎么带框框 华为mate8虚拟键怎么改 杨梅为什么会有虫子? 杨梅用淡盐水泡出了小虫,还能吃吗? 杨梅里有虫吗? 树上的杨梅,杨梅里有虫子吗? 有虫的杨梅安全吗 杨梅用盐水泡出虫子还能吃吗 干杨梅是否有虫子?怎么 办? 公司进行股权变更需要什么流程 怎样办理公司股权变更 冷藏后的杨梅在盐水浸泡后还会有虫子出来吗?就是说冷藏的时候会不会把虫子冻死呢? 杨梅里面的虫子到底能不能吃? 谁能告诉我点催乳的药方? 下奶的偏方有哪些 生孩子后吃什么下奶快 linux内核,驱动,应用程三者的概念和之间的关系 linux下内核,驱动有什么关联吗? linux安装显卡驱动有什么用 0Linux驱动程序的主要流程与功能 qq怎么解除手机号绑定 在电脑上如何和别人换微信群 微信群可以不可以更换群主 活字印刷术是谁发明的 他是哪个国家的 发明活字印刷术的人是那个国家的 农商信用卡如何如何更换还款银行卡 广发信用卡申请绑定还款卡号错了,怎么改回? 平安信用卡怎么修改银行卡卡号 金牡丹红茶和祁门红茶有什么不同 平安信用卡怎样更换绑定银行卡 惠普无线打印机wifi设置没有无线向导 怎么在手机上更改信用卡收款的储蓄卡? 如何更改惠普打印机连接的wifi? 信用卡绑定银行卡能更改吗 鄂茶10号和金牡丹可以混合栽植吗 信用卡收款二维码,怎么改绑定的储蓄卡?