- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux 驱动程序开发
姓名: 周余 ( n a c k )
实验室: 南大蔡冠深软件研发中心
研究方向: 嵌 式系统、图像处理
EMAIL: n a c kz h o u @s w -
lin ux .c o m
Rev iew
用户空间
应用程序
GU
I
文件系统( b in , s b in ,lib ,e t c ,v a r,t m p )
内核空间
平台无关部分 文件系统 网络协议
进程管理 中断处理 内存管理 设备管理
移植
Ar m C orSeO C (M e m or y ,IR Q …)外围设备驱动程序 驱动
b o ot lo a d e r
Rev iew
嵌入式 Lin u x 系统开发的主要工作
1 . 建立交叉编译环境
2 . 引导装载程序(BootLoader )编写或移植
3 . Linux 内核的移植与裁减
4 . 驱动程序的开发
5 . 文件系统 的建立与移植
6 . 图形用户界面(GUI )的移植
7 . 应用程序的移植
报告主要内容
1. Lin ux 驱动程序基本概念
3. 字符型驱动程序
3 . 时间流和中断
7. 块设备驱动程序
9. 网络驱动程序
6 . 其他驱动程序体系
Lin ux 驱动程序基本概念
设备驱动程序的作用
系统调用是操作系统内核和应用程序之间的接
口,设备驱动程序是操作系统内核和机器硬件之间
的接口 . 设备驱动程序为应用程序屏蔽了硬件的细
节,这样在应用程序看来,硬件设备只是一个设备
文件, 应用程序可以象操作普通文件一样对硬件设
备进行操作。设备驱动程序是内核的一部分,它完
成以下的功能 :
a . 对设备初始化和释放;
b . 把数据从内核传送到硬件和从硬件读取数据;
c . 读取应用程序传送给设备文件的数据和回送应
用程序请求的数据;
d . 检测和处理设备出现的错误;
Lin ux 驱动程序基本概念
系统调用、内核、驱动程序的关系
Lin ux 驱动程序基本概念
主要驱动类型
字符设备 (c)
块设备 (b)
网络设备 (ifconfig)
字符设备和块设备的主要区别是 :在对字符
设备发出读 / 写请求时,实际的硬件 I/O 一
般就紧接着发生了,块设备则不然,它利用
一块系统内存作缓冲区
主设备号 , 从设备号
用 ll 命令可以观察,设备号规范在
Lin ux 驱动程序基本概念
模块
对于每一个内核模块来说,必定包含下面两个函数: int init_module
(): 这个函数在插入内核时启动,在内核中注册一定的功能函数,或者用
他的代码代替内和中某些函数的内容。
int cleanup_module() :当内核模块卸载时调用,它能将模
文档评论(0)