- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统 ——第八章 嵌入式设备驱动设计 嵌入式系统 ——第八章 嵌入式设备驱动设计 嵌入式设备驱动设计概述 字符设备驱动设计 块设备驱动设计 其他设备驱动 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
- C语言职工信息管理系统课程设计.pdf
- 中国结直肠癌诊治所面临的问题和挑战.pdf
- 浅谈电力工程施工进度网络计划的分级编制和控制.pdf
- 思想道德与法治知到章节答案智慧树2023年宁波大学.pdf
- 2022年黑龙江省哈尔滨市全国计算机等级计算机基础及MS Office应用知识点汇总(含答案).pdf
- (统考版)2023版高考物理一轮复习 第九章 磁场 第1讲 磁场及其对电流的作用学生用书.pdf
- 2022年一建《公路工程管理与实务》检测题C卷 含答案.pdf
- 2021人民银行模拟卷-经济金融卷(三)试题及答案解析.pdf
- 2022年淮阴师范学院软件工程专业《计算机网络》科目期末试卷A(有答案).pdf
- 2022—2023年人教版九年级物理下册期末模拟考试(及答案).pdf
最近下载
- 《吸收合并方式下的企业合并绩效评价及风险应对》.docx VIP
- 湖北省恩施市2023-2024学年七年级上学期期末语文试题(解析版).docx VIP
- 南京理工大学《宏观经济学》内部题库练习期末真题汇编及答案.docx
- 一例子宫肌瘤患者的个案护理.doc VIP
- 2024年山东省政府采购判断题真题必威体育精装版(2024年12月20日整理)第13套.doc VIP
- 2023年山东省夏季普通高中学业水平合格考试会考生物试题及参考答案.pdf
- GB 50128-2014 立式圆筒形钢制焊接储罐施工规范.pptx
- 手术室甲状腺癌个案护理ppt.pptx
- 彩绘娃娃项目创业计划书.pptx VIP
- 小学数学_除法的意义教学设计学情分析教材分析课后反思.pdf VIP
文档评论(0)