网站大量收购独家精品文档,联系QQ:2885784924

第8章 嵌入式设备驱动的设计 《嵌入式系统》课件.ppt

第8章 嵌入式设备驱动的设计 《嵌入式系统》课件.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 嵌入式设备驱动的设计 《嵌入式系统》课件.ppt

嵌入式系统 ——第八章 嵌入式设备驱动设计 嵌入式系统 ——第八章 嵌入式设备驱动设计 嵌入式设备驱动设计概述 字符设备驱动设计 块设备驱动设计 其他设备驱动 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 嵌入式设备驱动设计概述 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系统调用读出当前的命令状态,如果没有命令则返回NO_CMD。 第八章 嵌入式设备驱动设计 8.2 块设备驱动设计 块设备的IO特点 块设备 D1 D2 D3 字符设备 输入输出以块为单位 输入输出以字符为单位 可以随机访问 只能顺序读写 针对I/O请求进行缓缓存,通过I/O调度器进行访问方式的选择 无须缓冲且被直接读写 第八章 嵌入式设备驱动设计 8.3 块设备驱动设计 块设备的IO特点 1 块设备的相关概念 2 简单的块设备驱动例子 3 块设备相关的数据结构 4 改变块驱动程序设计 5 第八章 嵌入式设备驱动设计 8.3 块设备驱动设计 块设备的相关概念 磁道:以硬盘的盘片的中心为圆心,盘片上的不同半径的同心圆称为

您可能关注的文档

文档评论(0)

yuzongxu123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档