- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式系统 ——第八章 嵌入式设备驱动设计 嵌入式系统 ——第八章 嵌入式设备驱动设计 嵌入式设备驱动设计概述 字符设备驱动设计 块设备驱动设计 其他设备驱动 1 2 3 4 目录 5 总结 第八章 嵌入式设备驱动设计 8.1 嵌入式设备驱动设计概述 设备的分类以及特点 1 设备文件以及设备号 2 Linux设备驱动与其他模块的关系 3 如何使用模块机制 4 Sysfs虚拟文件系统 5 Linux内核设备模型 6 Linux设备驱动模型中的设备,驱动,总线和分类 7 第八章 嵌入式设备驱动设计 8.1 嵌入式设备驱动设计概述 设备的分类以及特点 硬件设备 字符设备 块设备 网络设备 第八章 嵌入式设备驱动设计 8.1 嵌入式设备驱动设计概述 设备文件以及设备号 Linux操作系统将硬件设备抽象为文件系统中的一个文件,所有针对硬件设备的操作都被视为针对文件的操作,这样的特殊文件就是设备文件。 每个设备文件都对应有两个设备号 主设备号(12bit) 次设备号(20bit) 第八章 嵌入式设备驱动设计 8.1 嵌入式设备驱动设计概述 设备驱动和其他模块的关系 内核态 用户应用程序 C库函数 Linux系统调用接口 虚拟文件系统VFS 字符设备驱动程序 通用块层 块设备驱动程序 网络设备驱动程序 网络子系统 进程管理 内存管理 用户态 Linux设备驱动程序结构图 第八章 嵌入式设备驱动设计 8.1 嵌入式设备驱动设计概述 如何使用模块机制 Ismod insmod rmmod depmod 列出已被内核调入的模块 将某个module插入到内核中 将某个module从内核中卸载 生成依赖文件,告诉将来的insmod要从何处调入modules 与内核模块有关的命令: 第八章 嵌入式设备驱动设计 8.1 嵌入式设备驱动设计概述 Sysfs虚拟文件系统 Sysfs系统用来描述设备的拓扑结构 mouse1 module usbhid bus usb drivers devices pci000:00 usb2 port 1 usbhid usb2 input input3 devices input input3 class mouse1 driver 设备模型示意图 sysfs目录包括block,bus,class,dev,devices,firmware,fs,kernel,module,power 第八章 嵌入式设备驱动设计 8.1 嵌入式设备驱动设计概述 Linux内核设备模型 Linux2.6内核设备模型的基本元素是bus、device、driver、class。在物理上,总线bus是处理器和设备device之间的通道;在设备模型中,所有的设备device都通过总线bus与驱动driver相连,总线bus负责设备device和驱动driver的匹配。 kset kobject kobject kobject kobject kset和kobject关系 第八章 嵌入式设备驱动设计 8.1 嵌入式设备驱动设计概述 Linux内核设备模型中的设备,驱动,总线和分类 总线设备逻辑关系 驱动总线逻辑关系 一个驱动程序可以驱动多个设备; 一条总线上可以存在多个驱动; 一个驱动程序对应一个模块。 分类设备逻辑关系 一个分类下可以有多个设备。 一个设备只能有一条总线、一个驱动,属于一个分类; 一条总线可以挂载多个设备; 一个分类下可以有多个设备; 一个设备可以有多个子设备,但是只能有一个父设备。 第八章 嵌入式设备驱动设计 8.2 字符设备驱动设计 简单的设备驱动例子 1 相关数据结构以及操作介绍 2 增加字符设备驱动的功能 3 第八章 嵌入式设备驱动设计 8.2 字符设备驱动设计 简单的设备驱动例子 驱动的加载和卸载是用的模块的加载insmod和卸载rmmod 驱动编译使用的Makefile是模块特有格式 使用驱动的方法和读写普通文件的方式相似 驱动外部设备就是读写控制设备文件 事例软件说明简介 建立字符设备驱动程序使用内核模块的编程模式 第八章 嵌入式设备驱动设计 8.2 字符设备驱动设计 相关的数据结构以及操作介绍 内核设备模型“类图”加入cdev 第八章 嵌入式设备驱动设计 8.2 字符设备驱动设计 增加字符设备驱动的功能 在字符设备驱动程序中,标准的操作函数可以实现大部分功能,但是外设复杂多样,常常需要有个性化的操作,所以很多驱动程序都提供了ioctl来满足这样的需求。 设计目标 1、可以通过ioctl系统调用给驱动程序发送两个命令IO_CMD_1和IO_CMD_2; 2、测可以通过read系统调用读出当前的命令
您可能关注的文档
- 工业设计机械基础第五章、第六章.ppt
- 工业设计机械基础第一章、第二章.ppt
- 工业生产过程与管理第1章 工业生产概论.pptx
- 工业生产过程与管理第2章 工业生产组织与管理.pptx
- 工业生产过程与管理第3章 煤炭及石油工业.pptx
- 工业生产过程与管理第7章 电力工业.ppt
- 工业生产过程与管理第8章 冶金工业.ppt
- 工业生产过程与管理第9章 轻工业.ppt
- 工业生产技术基础第九章 金属切削加工基本知识.pptx
- 工业生产技术基础第六章 金属塑性成形.pptx
- 2024-2025学年特种作业煤矿安全作业模拟题库附参考答案详解(夺分金卷).docx
- 2024-2025学年特种作业煤矿安全作业高频难、易错点题附答案详解(实用).docx
- 2024-2025学年特种作业煤矿安全作业综合提升测试卷【研优卷】附答案详解.docx
- 2024-2025学年特种作业煤矿安全作业过关检测试卷及参考答案详解.docx
- 2024-2025学年特岗教师模考模拟试题及参考答案详解(巩固).docx
- 2024-2025学年特种作业煤矿安全作业通关题库及参考答案详解(完整版).docx
- 掺氢管输天然气质量和计量技术指南.docx
- TCCPITCSC-技术传播校企合作指南团体标准编制说明.docx
- 畜禽品种(配套系)申鸿七彩雉编制说明.doc
- DB31T-禽畜饲养-上海水牛编制说明.doc
最近下载
- 三人两班倒排班表模板.docx VIP
- 延缓慢性肾脏病进展临床管理指南(2025年)解读课件PPT.pptx
- 经典版雨污分流改造工程施工组织设计方案.pdf VIP
- 《大学生心理健康教育》第二章 大学生心理咨询.pptx VIP
- 2024-2025学年中职地理全一册人教版(2005)教学设计合集.docx
- 19S406_替代10S406_建筑排水管道安装_塑料管道国标 建筑图集 汇编 .docx VIP
- 人教版五年级上册英语第四单元知识点.docx VIP
- 风电项目资料大全(含归档要求、编制指南、规范表格).docx
- 运动会志愿者服务工作分配方案.docx VIP
- 湘质监统编 资料.doc VIP
文档评论(0)