- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11节 嵌入式linux设备驱动开发
本章的要求 第11章、嵌入式Linux设备驱动开发 Linux设备驱动的基本概念 Linux设备驱动程序的基本功能 Linux设备驱动的运作过程 常见设备驱动接口函数 掌握字符设备驱动程序的编写 掌握键盘设备驱动程序的编写 了解块设备的编写流程 本章的主要内容 11.1 设备驱动概述 11.2 字符设备驱动编程 11.3 GPIO驱动程序实例 11.4 块设备驱动编程 11.5 中断编程 11.6 按键驱动程序实例 11.7 实验内容——test驱动 11.1 设备驱动概述 设备驱动简介及驱动模块 操作系统是通过各种驱动程序来驾驭硬件设备的,它为用户屏蔽了各种各样的设备,驱动硬件是操作系统最基本的功能,并且提供统一的操作方式。设备驱动程序是内核的一部分,硬件驱动程序是操作系统最基本的组成部分,在Linux内核源程序中也占有60%以上。因此,熟悉驱动的编写是很重要的。 Linux内核中采用可加载的模块化设计(LKMs,Loadable Kernel Modules),一般情况下编译的Linux内核是支持可插入式模块的,也就是将最基本的核心代码编译在内核中,其他的代码可以编译到内核中,或者编译为内核的模块文件(在需要时动态加载)。 内核模块的主要相关命令 常见的驱动程序是作为内核模块动态加载的,比如声卡驱动和网卡驱动等,而Linux最基础的驱动,如CPU、PCI总线、TCP/IP协议、APM(高级电源管理)、VFS等驱动程序则直接编译在内核文件中。有时也把内核模块叫做驱动程序,只不过驱动的内容不一定是硬件罢了,比如ext3文件系统的驱动。因此,加载驱动就是加载内核模块。 lsmod列出当前系统中加载的模块,其中左边第一列是模块名,第二列是该模块大小,第三列则是使用该模块的对象数目。 rmmod是用于将当前模块卸载。 insmod和modprobe是用于加载当前模块,但insmod不会自动解决依存关系,即如果要加载的模块引用了当前内核符号表中不存在的符号,则无法加载,也不会去查在其他尚未加载的模块中是否定义了该符号;modprobe可以根据模块间依存关系以及/etc/modules.conf文件中的内容自动加载其他有依赖关系的模块。 设备分类(1) Linux系统的设备分为三类:字符设备、块设备和网络设备。 ? 字符设备通常指像普通文件或字节流一样,以字节为单位顺序读写的设备, 如并口设备、虚拟控制台等。字符设备可以通过设备文件节点访问,它与普通文件之间的区别在于普通文件可以被随机访问(可以前后移动访问指针),而大多数字符设备只能提供顺序访问,因为对它们的访问不会被系统所缓存。但也有例外,例如帧缓存(framebuffer)是一个可以被随机访问的字符设备。 ? 块设备通常指一些需要以块为单位随机读写的设备,如IDE硬盘、SCSI硬盘、光驱等。块设备也是通过文件节点来访问,它不仅可以提供随机访问,而且可以容纳文件系统(例如硬盘、闪存等)。Linux可以使用户态程序像访问字符设备一样每次进行任意字节的操作,只是在内核态内部中的管理方式和内核提供的驱动接口上不同。 设备分类(2) ? 网络设备通常是指通过网络能够与其他主机进行数据通信的设备,如网卡等。内核和网络设备驱动程序之间的通信调用一套数据包处理函数,它们完全不同于内核和字符以及块设备驱动程序之间的通信(read(), write()等函数)。Linux网络设备不是面向流的设备,因此不会将网络设备的名字(例如eth0)映射到文件系统中去。 设备号 设备号是一个数字,它是设备的标志。就如前面所述,一个设备文件(也就是设备节点)可以通过mknod命令来创建,其中指定了主设备号和次设备号。主设备号表明设备的类型(例如串口设备、SCSI硬盘),与一个确定的驱动程序对应;次设备号通常是用于标明不同的属性,例如不同的使用方法,不同的位置,不同的操作等,它标志着某个具体的物理设备。高字节为主设备号,底字节为次设备号。 例如,在系统中的块设备IDE硬盘的主设备号是3,而多个IDE硬盘及其各个分区分别赋予次设备号1、2、3…… 驱动层次结构 设备驱动程序与外界的接口 设备驱动程序的特点 (1) (1)内核代码:设备驱动程序是内核的一部分,如果驱动程序出错,则可能导致系统崩溃。 (2)内核接口:设备驱动程序必须为内核或者其子系统提供一个标准接口。比如,一个终端驱动程序必须为内核提供一个文件I/O接口;一个SCSI设备驱动程序应该为SCSI子系统提供一个SCSI设备接口,同时SCSI子系统也必须为内核提供文件的I/O接口及缓冲区。 (3)内核机制和服务:设备驱动程序使用一些标准的内核服务,如内存分配等。 设备驱动程序
您可能关注的文档
- 大学城设备跟房屋维护管理计划(80doc).doc
- 大亚湾核电站在线设备的预测性维修探索跟运用.doc
- 大中型抽水蓄能电站控制跟保护设备的国产化探究.pdf
- 大中型空分设备分子筛纯化系统技术探究进展.pdf
- 丹霞冶炼厂设备培训.ppt
- 单价5万元以下设备.pdf
- 单片机控制装置安装跟调试、制冷跟空调设备组装跟调试比赛规则跟.doc
- 单元8环境跟设备监控系统.ppt
- 单元三 传热单元操作跟设备.ppt
- 道路施工跟养护设备.pdf
- 2025重庆潼南区事业单位面向 “三支一扶”人员公开招聘9人备考题库必威体育精装版.docx
- 2025江苏镇江新民洲临港产业园管委会招聘编制外工作人员3人参考题库必威体育精装版.docx
- 2025黑龙江哈尔滨“丁香人才周”(秋季)引才招聘五常市所属事业单位招聘工作人员43人备考题库附答案.docx
- 2025辽宁能源控股集团所属抚矿集团招聘90人笔试参考题库必威体育精装版.docx
- 2025重庆三峡银行“三峡之帆”校园招聘备考题库必威体育精装版.docx
- 2025湖南省水务规划设计院有限公司招聘25人笔试备考试题附答案.docx
- 2025浙江杭州保盛商业运营管理有限公司招聘10人考前自测高频考点模拟试题必威体育精装版.docx
- 2025辽宁能源控股集团所属阜矿集团招聘36人笔试参考题库附答案.docx
- 2025福建海峡银行台青专项实习岗招募备考题库必威体育精装版.docx
- 2025贵州教育期刊发展有限公司招聘4人考前自测高频考点模拟试题必威体育精装版.docx
有哪些信誉好的足球投注网站
文档评论(0)