- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式系统开发
第8章嵌入式LINUX设备驱动开发
授课教师:江兰帆
E-Mail: jiang_lanfan@126.com
引言
Linux和其他操作系统一样,支持众
多的、各式各样的外接设备。
但是,面对层出不穷的新硬件产品,
必须有人不断编写新的驱动程序,以便
让这些设备能够在Linux 下正常工作,
从这个意义上讲,讲述驱动程序的编写
就是一件非常有意义的工作。
本章提要
1 Linux device driver 基本概念
1
1
2 Linux系统内核模块
2
2
3
3
3 重要数据结构与函数
4 驱动程序的实现
4
4
5
5
5 实例分析
8.1.1 Linux device driver 的概念
系统调用是操作系统内核和应用程序之
间的接口;
设备驱动程序是操作系统内核和机器硬
件之间的接口;
设备驱动程序为应用程序屏蔽了硬件的
细节,这样在应用程序看来,硬件设备
只是一个设备文件,应用程序可以象操
作普通文件一样对硬件设备进行操作。
Linux device driver 的概念
设备驱动程序是内核的一部分,它完成以
下的功能:
1. 对设备初始化和释放。
2. 把数据从内核传送到硬件和从硬件读取
数据。
3. 读取应用程序传送给设备文件的数据和
回送应用程序请求的数据。
4. 检测和处理设备出现的错误。
Linux device driver 的概念
Linux操作系统将所有的设备全部看成文件,
并通过文件的操作界面进行操作。这意味着:
• 每一个设备都有一个“文件名”。
• 应用程序通常可以通过系统调用open()打开设
备文件,建立起与目标设备的连接。
• 打开了代表着目标设备的文件,即建立起与设
备的连接后,可以通过read()、write() 、
ioctl()等常规的文件操作对目标设备进行操作。
8.1.2 设备驱动程序的分类
1. 字符设备
所有能够象字节流一样访问的设备都通过
字符设备来实现
它们被映射为文件系统中的节点,通常在
/dev/ 目录下面
一般要包含open、read、write 、close等
系统调用的实现
设备驱动程序的分类
2. 块设备
通常是指诸如磁盘、内存、Flash等可以容
纳文件系统的存储设备。
块设备也是通过文件系统来访问,与字符
设备的区别是:内核管理数据的方式不同
它允许象字符设备一样以字节流的方式来
访问,也可一次传递任意多的字节。
设备驱动程序的分类
3. 网络接口设备
通常它指的是硬件设备,但有时也可能是
一个软件设备(如回环接口loopback),它
们由内核中网络子系统驱动,负责发送和
接收数据包。
它们的数据传送往往不是面向流的,因此
很难将它们映射到一个文件系统的节点上。
8.1.3 相关基本概念
设备文件的属性由三部分信息组成:
文件的类型 惟一地确定了设备文
一个主设备号 件驱动程序及其界面
一个次设备号
说明目标设备是同类设备中的第几个
一、设备号
主设备号和次设备号能够唯一地标识一个
设备
128 (V2.0 以前), 256(V2.0以后)
主设备号相同的设备使用相同的驱动程
序,次设备号用于区分具体设备的实例
Linux下对设备号的分配请参考
Documentation/devices.txt
设备号
A. 设备号相关类型dev_t:32 位的量, 12
位用作主编号, 20 位用作次编号。
B. 相关的操作:
您可能关注的文档
最近下载
- 一年级迎春杯数学试卷.doc VIP
- 汉语言文学专业《古代汉语》课程教学大纲 (2).pdf VIP
- 思遵高速公路SZTJ标的施工组织研究设计.doc VIP
- 思遵高速公路SZTJ-11标的施工组织设计.doc VIP
- 财信证券-基金深度报告:美国REITs梳理专题.pdf
- 绩效评估公平感对员工敬业度的影响分析.doc VIP
- 《如何写好科研论文》期末考试答案(分类好的).pdf VIP
- 2021年天津外国语大学攻读硕士学位研究生入学考试《意大利语语言文学》试题(原卷).pdf VIP
- 在线网课学习课堂《实验室安全培训(首都医大)》单元测试考核答案.docx VIP
- 《小小营养师》幼儿园大班健康PPT课件.ppt VIP
文档评论(0)