精华内容
下载资源
问答
  • linux驱动开发1之什么是驱动

    千次阅读 2018-07-17 21:14:48
    1.什么是驱动? 字面意思驱动指驱使一个东西,让它动起来。 2.什么是linux驱动 驱动的本质是电力驱动,而驱动代码只是给出了操作方法。 3.linux体系架构 分层思想 驱动的上面是系统调用API 驱动的下面是硬件 ...

    1.什么是驱动?

    字面意思驱动指驱使一个东西,让它动起来。

    2.什么是linux驱动

    驱动的本质是电力驱动,而驱动代码只是给出了操作方法。

    3.linux体系架构

    分层思想

    驱动的上面是系统调用API

    驱动的下面是硬件

    驱动自己本身也是分层的

    https://pic2.zhimg.com/50/v2-d3ea61337758b865fa2b3bc365541b35_hd.jpg

    https://pic4.zhimg.com/v2-dcd432a4116bcd295db1089f214500cb_r.png

    4.linux的模块化设计

    4.1微内核和宏内核(也说明了linux内核的紧耦合和松耦合的概念)

    1. 宏内核(又称为单内核):将内核从整体上作为一个大过程实现,并同时运行在一个单独的地址空间。所有的内核服务都在一个地址空间运行,相互之间直接调用函数,简单高效。
    2. 微内核:功能被划分成独立的过程,过程间通过IPC(进程间通信)进行通信。模块化程度高,一个服务失效不会影响另外一个服务。典型如windows
    3. linux本质上是宏内核,但是又吸收了微内核的模块化特性,体现在2个层面。

    4.2静态模块化

    编译时功能可裁剪,特征是想要功能的裁剪改变必须要重新编译。

    4.3动态模块化

    zImage可以不重新编译烧录,甚至不关机重启就实现模块的安装和卸载。

    5.linux设备驱动分类

    5.1驱动分类

    1. 分3类:字符设备驱动、块设备驱动、网络设备驱动
    2. 分类原则:设备本身读写操作的特征差异

    5.2三类驱动程序详细对比分析

    https://img-my.csdn.net/uploads/201210/25/1351159614_1702.jpg

    1. 字符设备,准确的说应该叫“字节设备”软件操作设备时是以字节为单位进行的典型的如LCD、串口、LED、蜂鸣器、触摸屏······
    2. 块设备,块设备是相对于字符设备定义的,块设备被软件操作时是以块(多个字节构成的一个单位)为单位的。设备的块大小是设备本身设计时定义好的,软件是不能去更改的,不同设备的块大小可以不一样。常见的块设备都是存储类设备,如:硬盘、NandFlash、iNand、SD····
    3. 网络设备,网络设备是专为网卡设计的驱动模型,linux中网络设备驱动主要目的是为了支持API中socket相关的那些函数工作。

    5.3为什么字符设备驱动最重要

    1. 常见大量设备都属于字符设备
    2. 举例说明非标准类型字符设备驱动

    6.驱动程序的安全性要求

    6.1驱动是内核的一部分

    1. 驱动已经成为内核中最庞大的组成部分
    2. 内核会直接以函数调用的方式调用驱动代码
    3. 驱动的动态安装和卸载都会“更改”内核

    6.2驱动对内核的影响

    1. 驱动程序崩溃甚至会导致内核崩溃
    2. 驱动的效率会影响内核的整体效率
    3. 驱动的漏洞会造成内核安全漏洞

    6.3常见驱动安全性问题

    1. 未初始化指针
    2. 恶意用户程序
    3. 缓冲区溢出
    4. 竞争状态
    展开全文
  • 驱动框架1——什么是驱动框架?

    千次阅读 2017-07-20 09:31:02
    以下内容源于朱有鹏《物联网大讲堂》课程的学习整理,如有侵权,请告知删除。...3、到底什么是驱动框架? (1)驱动框架 内核中驱动部分维护者,针对每个种类(比如LED、LCD、蜂鸣器等等)的设备,都设计有一

    以下内容源于朱有鹏《物联网大讲堂》课程的学习整理,如有侵权,请告知删除。


    1、驱动是谁写的?

    • 驱动开发工程师(譬如厂商的驱动开发攻城狮们)
    • 内核维护者

    2、驱动编程协作要求

    • 接口标准化
    • 内核开发者应该尽量降低驱动开发者难度;

    3、到底什么是驱动框架?

    (1)驱动框架

    • 内核中驱动部分维护者,针对每个种类(比如LED、LCD、蜂鸣器等等)的设备,都设计有一套成熟的、标准的、典型的驱动实现;
    • 他们把不同厂家的同类硬件驱动中相同的部分抽出来自己实现好,再把不同部分留出接口给具体的驱动开发工程师来实现。
    • 降低了难度,也标准化。

    (2)内核维护者在内核中设计了一些(统一管控系统资源的)体系

    • 这些体系让内核能够(对资源在各个驱动之间的使用)统一协调和分配,保证整个内核的稳定健康运行。
    • 譬如系统中所有的GPIO就属于系统资源,每个驱动模块如果要使用某个GPIO就要先调用特殊的接口先申请,申请到后使用,使用完后要释放。
    • 又譬如中断号也是一种资源,驱动在使用前也必须去申请。
    • 体系也是驱动框架的组成部分。

    (3)驱动框架的直接表现

    • 一些特定的接口函数、一些特定的数据结构,这些是驱动框架的直接表现。


    展开全文
  • 什么是驱动程序

    千次阅读 2018-11-05 20:19:50
    驱动程序硬件厂商根据操作系统编写的配置文件,可以说没有驱动程序,计算机中的硬件就无法工作。操作系统不同,硬件的驱动程序也不同,各个硬件厂商为了保证硬件的兼容性及增强硬件的功能会不断地升级驱动程序。如...

           驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。有了此信息,计算机就可以与设备进行通信驱动程序是硬件厂商根据操作系统编写的配置文件,可以说没有驱动程序,计算机中的硬件就无法工作。操作系统不同,硬件的驱动程序也不同,各个硬件厂商为了保证硬件的兼容性及增强硬件的功能会不断地升级驱动程序。如:Nvidia 显卡芯片公司平均每个月会升级显卡驱动程序2-3次。驱动程序是硬件的一部分,当你安装新硬件时,驱动程序是一项不可或缺的重要元件。凡是安装一个原本不属于你电脑中的硬件设备时,系统就会要求你安装驱动程序,将新的硬件与电脑系统连接起来。驱动程序扮演沟通的角色,把硬件的功能告诉电脑系统,并且也将系统的指令传达给硬件,让它开始工作。

      当你在安装新硬件时总会被要求放入“这种硬件的驱动程序”,很多人这时就开始头痛。不是找不到驱动程序的盘片,就是找不到文件的位置,或是根本不知道什么是驱动程序。比如安装打印机这类的硬件外设,并不是把连接线接上就算完成,如果你这时候开始使用,系统会告诉你,找不到驱动程序。怎么办呢?参照说明书也未必就能顺利安装。其实在安装方面还是有一定的惯例与通则可寻的,这些都可以帮你做到无障碍安装。

      在Windows系统中,需要安装主板光驱、显卡、声卡等一套完整的驱动程序。如果你需要外接别的硬件设备,则还要安装相应的驱动程序,如:外接游戏硬件要安装手柄、方向盘、摇杆、跳舞毯等的驱动程序,外接打印机要安装打印机驱动程序,上网或接入局域网要安装网卡、Modem甚至ISDN、ADSL的驱动程序。说了这么多的驱动程序,你是否有一点头痛了。下面就介绍Windows系统中各种的不同硬件设备的驱动程序,希望能让你拨云见日。

      在Windows 9x下,驱动程序按照其提供的硬件支持可以分为:声卡驱动程序、显卡驱动程序、鼠标驱动程序、主板驱动程序、网络设备驱动程序、打印机驱动程序、扫描仪驱动程序等等。为什么没有CPU、内存驱动程序呢?因为CPU和内存无需驱动程序便可使用,不仅如此,绝大多数键盘、鼠标、硬盘、软驱、显示器和主板上的标准设备都可以用Windows自带的标准驱动程序来驱动,当然其它特定功能除外。如果你需要在Windows系统中的DOS模式下使用光驱,那么还需要在DOS模式下安装光驱驱动程序。多数显卡、声卡、网卡等内置扩展卡和打印机、扫描仪、外置Modem等外设都需要安装与设备型号相符的驱动程序,否则无法发挥其部分或全部功能。驱动程序一般可通过三种途径得到,一是购买的硬件附带有驱动程序;二是Windows系统自带有大量驱动程序;三是从Internet下载驱动程序。最后一种途径往往能够得到最新的驱动程序。

      供Windows 9x使用的驱动程序包通常由一些.vxd(或.386)、.drv、.sys、.dll或.exe等文件组成,在安装过程中,大部分文件都会被拷贝到“Windows/ System”目录下。

      Windows怎样知道安装的是什么设备,以及要拷贝哪些文件呢?答案在于.inf文件。.inf是从Windows 95时代开始引入的一种描述设备安装信息的文件,它用特定语法的文字来说明要安装的设备类型、生产厂商、型号、要拷贝的文件、拷贝到的目标路径,以及要添加到注册表中的信息。通过读取和解释这些文字,Windows便知道应该如何安装驱动程序。目前几乎所有硬件厂商提供的用于Windows 9x下的驱动程序都带有安装信息文件。事实上,.inf文件不仅可用于安装驱动程序,还能用来安装与硬件并没有什么关系的软件,例如Windows 98支持“Windows更新”功能,更新时下载的系统部件就是利用.inf文件来说明如何安装该部件的。

      在安装驱动程序时,Windows一般要把.inf文件拷贝一份到“Windows/Inf”或“Windows/Inf/Other”目录下,以备将来使用。Inf目录下除了有.inf文件外,还有两个特殊文件Drvdata.bin和Drvidx.bin,以及一些.pnf文件,它们都是Windows为了加快处理速度而自动生成的二进制文件。Drvdata.bin和Drvidx.bin记录了.inf文件描述的所有硬件设备,也许朋友们会有印象:当我们在安装某些设备时,经常会看到一个“创建驱动程序信息库”的窗口,此时Windows便正在生成这两个二进制文件。

      Windows 9x专门提供有“添加新硬件向导”(以下简称硬件向导)来帮助使用者安装硬件驱动程序,使用者的工作就是在必要时告诉硬件向导在哪儿可以找到与硬件型号相匹配的.inf文件,剩下的绝大部分安装工作都将由硬件安装向导自己完成。

      给硬件设备安装驱动程序对Windows 9x用户来说并不是一件陌生事,在安装或重装Windows时需要安装驱动程序,在购买了某些新硬件之后也需要安装驱动程序。如果驱动程序安装不正确,系统中某些硬件就可能无法正常使用。虽然Windows 9x支持即插即用,能够为用户减轻不少工作,但由于PC机的设备有非常多的品牌和型号,加上各种新产品不断问世,Windows不可能自动识别出所有设备,因此在安装很多设备时都需要人工干预。

    展开全文
  • 驱动程序,英文名为“Device Driver”,全称为“设备驱动程序”,它一种特殊的程序。首先其作用将硬件本身的功能告诉操作系统,接下来的主要功能就是完成硬件设备电子信号与操作系统及软件的高级编程语言之间的...

    驱动程序,英文名为“Device Driver”,全称为“设备驱动程序”,它是一种特殊的程序。首先其作用是将硬件本身的功能告诉操作系统,接下来的主要功能就是完成硬件设备电子信号与操作系统及软件的高级编程语言之间的互相翻译。当操作系统需要使用某个硬件时,比如:让声卡播放音乐,它会先发送相应指令到声卡驱动程序,声卡驱动程序接收到后,马上将其翻译成声卡才能听懂的电子信号命令,从而让声卡播放音乐。

    所以简单的说驱动程序提供了硬件到操作系统的一个接口以及协调二者之间的关系,而因为驱动程序有如此重要的作用,所以人们都称“驱动程序是硬件的灵魂”、“硬件的主宰”,同时驱动程序也被形象的称为“硬件和系统之间的桥梁”。


    展开全文
  • 什么是驱动模块?什么是桩模块?

    千次阅读 2017-08-22 18:21:11
    驱动模块:在大多数场合称为“主程序”,它接收测试数据并将这些数据传送到被测试模块,单元测试一个函数单元时,被测单元本身不能独立运行的,需要为其传送数据,为此写驱动 驱动模块要完成以下事情: 1.接受...
  • 1.什么是驱动 驱动程序,英文名为“Device Driver”,全称为“设备驱动程序”, 是一种可以使计算机和设备通信的特殊程序,可以说相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备...
  • 什么是事件驱动

    千次阅读 2018-03-07 23:23:58
    实际上,现代的程序大多事件驱动的,比如多线程的程序,肯定事件驱动的。早期则存在许多非事件驱动的程序,这样的程序,在需要等待某个条件触发时,会不断地检查这个条件,直到条件满足,这很浪费cpu时间的。...
  • 数据驱动什么是数据驱动??

    万次阅读 热门讨论 2018-12-09 20:57:44
    前几天和一个博士师兄聊天,师兄说:“你毕设做什么题目?”,我把毕设题目给师兄看了,师兄说:“数据驱动啊”。...让我们通过一个小例子来简单理解一下什么是数据驱动 假设有A和B两家订票网站: A公司将从网...
  • 能够驱动什么?   谈原理之前,先说一个我个人的经历。 有一次我老婆从首都机场T3航站楼回家,我帮她叫了一个滴滴,后来我看到账单显示80多元,路程20多公里,而我家离机场不过7-8公里,一
  • 驱动程序是什么驱动程序与硬件相关,编写驱动程序要非常了解硬件,同时给应用层提供API函数接口,应用层可以调用这些接口去访问硬件而不必了解硬件. 通俗地解释:比如说你有一个应用控制每天早上六点钟开灯.应用...
  • 什么是底层驱动程序

    千次阅读 2017-09-19 07:15:45
    底层驱动是程序以访问底层硬件的形式实现人机交互,驱动程序和应用程序之间需要实现相应的信息交互,一方面,应用程序通过对驱动程序发送相应的指令,实现 硬件控制的动作指令,另一方面,驱动程序将硬件读写的状态...
  • sql:Oracle:驱动是什么

    千次阅读 2018-09-15 18:11:41
    1.什么是驱动表? 通俗的讲就是先从哪个表开始检索啦,找到好的驱动表语句的优化就成功一半了 eg: select * from a,b where a.id = b.id and a.姓名 = '美格瑞恩' and b.性别 = '女';在a,b表同等数量级的情况下显然...
  • 什么是关键字驱动框架?

    千次阅读 2018-03-19 20:37:15
    什么是关键字驱动框架? 关键字驱动框架是一种功能自动化测试框架,它也被称为表格驱动测试或者基于动作字的测试。关键字驱动的框架的基本工作是将测试用例分成四个不同的部分。首先是测试步骤(Test Step),二是...
  • Mysql驱动程序是什么

    千次阅读 2020-02-07 09:11:54
    不同的编程语言,驱动程序的包形式也不一样的 驱动程序主要帮助编程语言与 MySQL 服务端进行通信,如果连接、关闭、传输指令与数据等 【Java面试题与答案】整理推荐 基础与语法 集合 网络编程 ...
  • 什么是电源驱动芯片的驱动能力

    千次阅读 2017-02-22 15:54:53
    驱动能力后级电路带负载能力的大小,影响因素后级负载大小、电压要求的大小等。 中文名 驱动能力 概 念 后级电路带负载能力的大小 影响因素 后级负载大小、电压要求的大小等 领 域 ...
  • 做管理系统遇到了这个概念,只听过数据驱动。 一个数据流驱动的管理系统,需要达到哪些要求?
  • 什么是结果驱动

    千次阅读 2019-12-26 17:01:31
    我的回答方式,反问她:具备真知灼见的目的是什么呢?想让客户更加信任你、还是想让老板看到你的进步? 假设你希望客户信任你,觉得你懂他,那你要做的,就是看这个行业里的客户有什么痛点,然后针对这几个...
  • 驱动程序硬件厂商根据操作系统编写的配置文件,没有驱动程序,计算机中的硬件就无法工作。 驱动程序会因为操作系统的不同而不同,厂商为了保证硬件的兼容性以及增强硬件的功能不断升级驱动驱动程序硬件的一...
  • 数据驱动测试数据驱动测试一种软件测试方法,其中测试数据以表或电子表格格式存储。数据驱动的测试允许测试人员输入单个测试脚本,该脚本可以对表中的所有测试数据执行测试,并期望测试输出在同一表...
  • 设备链表包含各种系统中的 USB 设备以及这些设备的所有接口,驱动链表包含 USB 设备驱动程序(usb device driver)和 USB 驱动程序(usb driver)。USB 设备驱动程序(usb device driver)和 USB 驱动程序(usb ...
  • 事件驱动是什么

    千次阅读 2018-11-28 10:17:12
    事件通知的一个关键因素源系统并不真正十分关心响应。通常源系统根本就不希望得到应答,或者如果有一个源系统关心的响应,这也间接的。发送事件的逻辑流与响应该事件的某些反应的任何逻辑流之间会有明显的分离。...
  • 什么是数据驱动编程

    万次阅读 多人点赞 2011-08-03 22:25:35
    以前粗略的翻过,以为介绍unix工具的。现在认真的看了下,原来介绍设计原则的。它的核心就是第一章介绍的unix的哲学以及17个设计原则,而后面的内容就是围绕它来展开的。以前说过,要学习适合自己的资料,而判断...
  • C# 什么是【事件驱动

    千次阅读 2019-03-07 11:12:12
    事件驱动机、消息驱动对比 事件 按下鼠标,按下键盘,按下游戏手柄,将U盘插入USB接口,都将产生事件。比如说按下鼠标左键,将产生鼠标左键被按下的事件。 消息 当鼠标被按下,产生了鼠标按下事件,windows侦测到这...
  • 发动机方面后驱车多采用发动机纵置方式,因此所占空间大,这样会很...操控性方面前驱车前轮需要负责转向和驱动,负担比较大。在急转弯时容易出现推头的现象,甚至转不过来;而后驱车则由于后轴重,惯性大,容易出现...
  • 数据库驱动程序是什么

    千次阅读 2012-12-17 14:30:25
    数据库JDBC驱动程序是什么?   驱动:英文名为“Device Driver”,全称为“设备驱动程序”一种可以使计算机和设备通信的特殊程序,可以 说相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的...
  • 请问usb转串口驱动的实现原理是什么?请从驱动开发的角度回答,谢谢!尽可能详细些!
  • 设备驱动程序通常又被称为设备处理程序,I/O进程与设备控制器之间的通信程序,主要任务接受上层软件发来的抽象I/O要求。将它转化为具体要求后,发送给设备控制器,启动设备去执行,也会将设备控制器发来的信号...
  • 驱动程序是什么.

    千次阅读 2007-09-05 16:32:00
    其实公司里的串口通讯程序只是一个操作串口的应用程序,而驱动程序是由操作系统管理的,由操作系统调用的,有同事问我,什么是应用程序? 我说,应用程序就是调用windows API来实现本身功能的程序.而操作系统要
  • 简介:什么是领域驱动设计?传统分层架构在实际开发中存在哪些问题?业务开发人员如何设计并搭建自己的领域模型?阿里文娱技术专家战獒将为大家一一解答,并分享文娱在领域驱动设计上的实践。一 什么是领域驱动设计...
  • linux设备驱动是什么

    千次阅读 2012-03-27 19:57:09
     今天给亚嵌29期的就业班的学员上课,提了一个问题“简单说说linux设备驱动是什么?”对于大家的回答都不很令人满意。 帮助大家理顺一下思路,如下:  层次关系:linux驱动是直接和硬件打交道的软件程序。层次...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,314
精华内容 14,925
关键字:

什么是驱动