- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式Linux驱动开发简介
The successs road
嵌入式Linux驱动开
嵌入式Linux驱动开
发简介
发简介
华清远见 要内容
要内容
vLinux 内核与驱动的关系
vLinux 内核中驱动的分类
v驱动开发的两前题:模块、节点
vLinux下驱动程序的基本框架
vLinux下驱动程序的调试方法
vLinux 中驱动编程的高级接口
华清远见 Linux设备驱动的概念
Linux设备驱动的概念
v驱动程序为硬件提供一个定义良好的内部
接口
v驱动程序封装了硬件细节
v驱动程序为应用程序提供了访问设备的机
制
华清远见 设备驱动健壮性和安全性
设备驱动健壮性和安全性
v驱动程序是内核的一部分
v驱动程序的漏洞和缺陷直接危及内核
v留心未初始化的指针,恶意用户程序,缓
冲区溢出
华清远见 驱动程序与内核的关系
驱动程序与内核的关系
v字符设备驱动与块设备驱动由内核中的文
件系统来管理
v网络设备驱动由内核中的协议栈来管理
华清远见 Linux 设备和模块的分类
Linux 设备和模块的分类
v设备和模块的分类:字符设备,块设备,
网络接口以及提供公共服务的特定类型设
备
例如Dma驱动
系统时钟驱动
终端控制器驱动
华清远见 Linux下构建和运行模块
Linux下构建和运行模块
v为什么用模块?
v模块和应用程序有什么不同
v#ifdef __KERNEL__
v#ifdef MODULE
vKernel 和user space
华清远见 模块的编译和装载
模块的编译和装载
v编译模块都需要什么
v编译模块相关的宏
v模块工具insmod,rmmod
华清远见 Linux驱动程序模块加载
Linux驱动程序模块加载
华清远见 设备访问-设备节点
设备访问-设备节点
vmknod 创建设备文件
v字符设备文件例子
vcrw-rw 1 root uucp 4, 64 2005-03-20
03:36 /dev/ttyS0
v 设备号区分设备驱动程序
v用户程序调用open close等操作,内核根据
设备号找到对应的驱动程序
设备访问-主设备号和次设备
华清远见 设备访问-主设备号和次设备
文档评论(0)