首页 《嵌入式Linux驱动程序》

《嵌入式Linux驱动程序》

举报
开通vip

《嵌入式Linux驱动程序》 The success's road 嵌入式嵌入式LinuxLinux驱动程序设计驱动程序设计 www.farsight.com.cn PDF 文件使用 "pdfFactory Pro" 试用版本创建 Ì Ì www.fineprint.com.cn 远见品质 今天的内容 vLinux驱动程序和应用程序的区别 v嵌入式Linux驱动程序特点 v高效的嵌入式Linux内核和驱动程序 开发 v嵌入式Linux内核开发工具 PDF 文件使用 "pdfFactory Pro" 试用版本创...

《嵌入式Linux驱动程序》
The success's road 嵌入式嵌入式LinuxLinux驱动程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 驱动程序设计 www.farsight.com.cn PDF 文件使用 "pdfFactory Pro" 试用版本创建 Ì Ì www.fineprint.com.cn 远见品质 今天的内容 vLinux驱动程序和应用程序的区别 v嵌入式Linux驱动程序特点 v高效的嵌入式Linux内核和驱动程序 开发 v嵌入式Linux内核开发工具 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 驱动程序对比应用程序 v应用程序是一个进程 Ø编程从主函数main()开始 Ø主函数main()返回即是进程结束 v驱动程序是一系列内核函数 Ø驱动程序向内核添加了一些函数,是内核的 一部分 üOpen() üRelease() üRead() üWrite() Ø这些函数由内核在适当的时候来调用 Ø这些函数可以用来完成硬件访问等操作 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux驱动程序介绍 v驱动程序的分类 v设备驱动程序分 Ø字符设备 Ø块设备 Ø网络接口 Ø另外有一些设备驱动比较特殊,比如ip forwarding accelerator, cypher coprocessor, realtime extend hardware PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux驱动程序介绍(2) v嵌入式Linux驱动已经支持的设备门 类齐全,已成为linux相对其他嵌入 式操作系统的一大优势 Ø工业控制常用的串口,并口 Ø人机输入设备鼠标、键盘,触摸屏 Ø彩色、黑白液晶显示输出 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux驱动程序介绍(3) v嵌入式Linux驱动包含了完善的基础设施, 这是Linux另一大优势 Ø 网络的完善支持包括 üTCP/UDP/IP üFirewall üWLAN ü IP forwarding、IPSEC、VPN Ø USB主机和设备的全面支持,包括 üUSB Hard Disk、Flash Disk üUSB Camera üUSB 网卡 üUSB HID Ø 支持各种 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 总线和I/O规范 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux驱动程序介绍(4) v嵌入式Linux支持非常多的文件系统 ØDOS/Windows兼容的vfat,NTFS ØLinux自有的ext2,ext3文件系统 Ø强大的企业级文件系统XFS,ReiserFS Ø针对嵌入式FLASH存储器设计的 JFFS2/YAFFS2文件系统 Ø可堆叠统一化文件系统的UNIONFS Ø cryptfs gzipfs实现 Compression/Cipher on the Fly PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux驱动程序介绍(5) v嵌入式Linux支持丰富的音频和视频 硬件,以及各种流行的codec,包括 mpeg4,wmv9,realvideo。 v嵌入式Linux支持图形硬件加速,可 以充分利用图形硬件的强大功能 v嵌入式Linux的驱动/图形库有 ØDirectFB ØOpenGL ES ØSimple DirectMedia Layer ØQT-embedded ØGTK+ 2.0 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 驱动程序的作用 v从传统嵌入式开发角度来看,Linux 驱动程序是直接操控硬件的软件 Ø直接读写硬件寄存器,控制硬件 Ø操作设备缓冲区数据 Ø读写存储介质,比如flash或硬盘 Ø操作输出设备和执行机,例如打印,开关门 襟等等 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 驱动程序的作用(2) v从应用软件编写人员来看,Linux驱 动程序提供软件访问硬件的机制 Ø应用软件通过驱动程序安全高效的访问硬件 Ø驱动程序文件节点可以方便的提供访问权限 控制 Ø驱动程序作为一个隔离的中间层软件,将底 层细节隐藏起来,提高了软件的可移植性和 可重用性 Ø接口鲜明的Linux驱动程序便于将软件划分开, 并隔离有缺陷的代码,对于项目的管理有积 极贡献 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 访问Linux设备驱动的方法 v设备提供dev文件系统节点和proc文 件系统节点 v应用程序通过dev文件节点访问驱动 程序 Ø字符型驱动一般通过标准的文件I/O访问 Ø块设备在上层加载文件系统,比如以FAT32 的形式访问 Ø网络设备通过SOCKET来访问 v应用程序通过proc文件节点可以查 询设备驱动的信息 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 驱动程序在哪儿 v驱动程序位于内核源代码的drivers 目录 工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录 下,按照层次结构分门别类放 置 v驱动程序占kernel源代码超过50%。 v开发完毕的驱动程序,放置在 /lib/modules/kernel-version里 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 嵌入式Linux驱动程序特点 v嵌入式Linux驱动程序需求多样 Ø嵌入式设备硬件各异 Ø嵌入式处理器往往资源有限,比如处理速度、 存储器容量、总线带宽、电池容量等 v开发团队面临上市时间的压力 v开发驱动程序需要专业知识,包括 硬件和软件的 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 典型的嵌入式设备框图 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 典型的嵌入式设备框图 vIntel PXA PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 嵌入式Linux驱动程序特点(2) v嵌入式系统硬件还在不停的更新进 步 v国际上嵌入式芯片提供商如intel, samsung,freescale,TI,ST每年都 有新品推出 vLinux对于ARM,PPC/PPC64, MIPS/MIPS64,x86都有很好的支持 v芯片花样繁多的功能总是需要相应 的驱动程序 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux驱动程序开发流程 v熟悉设备的特性 v确定设备驱动程序是哪一类 v编写测试用例 v搜集可重用的代码 v编写自己的驱动程序代码 v调试、编码、测试 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux驱动程序的开发环境 v本机编译调试 Ø开发环境配置简单 Ø无需网络环境 Ø适用于配置较高的x86机器 v主机+目标机 Ø主机可以自由选择Linux或Windows+Cygwin Ø主机和目标机通过网络共享文件系统 Ø内核崩溃不会影响主机 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux驱动程序的开发环境 v主机+目标机环境包括 Ø主机运行的工具链∶cross gcc + glibc + gdb, 如果是windows主机还要有cygwin仿真环境 Ø主机运行远程服务,常用的有tftp用来传送内 核映像、initrd,nfs用来共享文件系统 Ø目标机运行ssh或telnet等远程登陆服务,用来 调试驱动程序 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux驱动程序加载方式 v驱动程序直接编译入内核 Ø驱动程序在内核启动时就已经在内存中 Ø可以保留专用存储器空间 v驱动程序以模块形式存储在文件系 统里,需要时动态载入内核 Ø驱动程序按需加载,不用时节省内存 Ø驱动程序相对独立于内核,升级灵活 Ø授权方式灵活 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux驱动程序模块加载 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 高效的嵌入式驱动程序开发 v嵌入式开发一般采用主机/目标机交 叉开发环境 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 交叉编译开发循环 1. 移植/编写驱动程序 2. 编译驱动程序 Ø C语言文法级调整 3. 加载驱动程序 4. 软硬件协同调试 5. 卸载驱动程序 6. 重新修改代码,重复2 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 交叉编译开发流程图 v开发/调试反复消耗大量 开发时间 v驱动程序提供多种灵活方 式来减少反复 Ø 减少反复次数 Ø 减少每次反复消耗的时间 v驱动程序可以采用以下技 巧 Ø 用参数来改变配置 Ø 用proc文件系统 Ø 采用debug ioctl PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 源代码级调试工具 vGdb调试kcore v可以用来查看内核变量,堆栈,调 用 v使用add-symbol-file命令可以加入驱 动模块的符号 v无法停止执行 v无法断点 v无法修改 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 交叉调试工具kgdb vKgdb分为两部分 Ø在开发主机上运行gdb Ø在目标内核上加入kgdb支持 vGdb处理内核与驱动程序源代码,并 且将符号和源代码关联起来 vKgdb stub负责断点处理等调试控制 v除了kgdb自己,内核当中所有的部 分都可以调试(包括模块式的驱动 程序) PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 固件调试 v调试固件redboot可以用来和gdb配合 使用,调试gcc产生的任何程序(包 括内核) vRedboot类似于kgdb,提供gdb stub v适用于调试 Ø各种操作系统 Ø驱动 ØBootloader Ø不包含操作系统的简单应用程序 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 调试内核oops信息 v内核出现错误大多数情况下都会打 印出oops信息 v包含pc指针信息,寄存器,堆栈指 针等 v通过向回跟踪可以发现产生问题的 调用 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux驱动程序工程师的作用 v建立嵌入式Linux平台,移植和编写 驱动程序往往是最具挑战的工作 v驱动程序的开发周期一般较长,对 产品的面世时间有着重要影响 v驱动程序质量的好坏,直接关系到 系统工作效能和稳定性,对项目的 成败起着关键作用 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 典型的嵌入式设备存储器映射 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux驱动程序工程师的职责 v分离硬件相关和硬件无关的代码 v划分驱动程序的抽象层次 v规定驱动程序行为 Ø设备驱动程序之间的交互操作 Ø设备驱动程序给用户提供的接口行为 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux驱动程序工程师的职责 v移植驱动程序到新的平台 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux驱动程序可利用资源 v互联网上很多驱动程序资源 vwww.kernel.org vwww.linuxdevice.org vsourceforge.net PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 GPL对驱动程序开发的影响 v实现非GPL授权的方法——模块形 式动态加载 v驱动程序可以以私有产权形式进行 商业授权 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux驱动开发理论课程内容 v Linux设备驱动和内核概论 v 设备驱动程序工作流程 v 字符设备驱动程序 v 块设备驱动程序 v Proc文件系统 v 文件系统驱动程序 v Framebuffer驱动程序 v Usb设备驱动程序 v 网络设备驱动程序 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux驱动开发实验课程内容 v 使用gnu开发编译环境 v 熟悉驱动程序加载到内核中的方式 v 数码管的字符驱动程序 v 键盘驱动程序 v A/D,D/A驱动 v Usb Mass Storage驱动 v Video4Linux驱动 v Framebuffer驱动 v 文件系统驱动 v 以太网卡驱动 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 让我们一起讨论! PDF 文件使用 "pdfFactory Pro" 试用版本创建 ā www.fineprint.com.cn www.farsight.com.cn 谢谢! 成功之路 PDF 文件使用 "pdfFactory Pro" 试用版本创建 Ì ÿ www.fineprint.com.cn
本文档为【《嵌入式Linux驱动程序》】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_769291
暂无简介~
格式:pdf
大小:3MB
软件:PDF阅读器
页数:38
分类:互联网
上传时间:2011-03-04
浏览量:33