linux 下驱动程序简介 —usb 摄像头 cwy-cts-sa117l 袁师盛 柴佳杰 孙融 王磊
Post on 19-Dec-2015
424 Views
Preview:
TRANSCRIPT
Linux下驱动程序简介
—USB 摄像头
CWY-CTS-SA117L袁师盛柴佳杰孙融王磊
CWY 22008-04-18
0 要点
1. Linux驱动配置2. 驱动的基本架构3. 摄像头驱动结构4. 最后
CWY 32008-04-18
1 Linux驱动配置• 1.1 什么是驱动程序
– 驱动程序是应用层和硬件设备之间的一个软件层
– 它向应用层提供了一组标准化的调用接口 , 同时完全隐藏设备的工作细节
– 驱动程序将特定的硬件功能映射为统一的接口 ( 使硬件可用 ), 而将怎样使用硬件的问题留给上层应用 ( 不给应用层强加使用策略 )
CWY 42008-04-18
1 Linux驱动配置• 1.2 linux 中驱动的存在方式
– 编译进内核 : 启动内核时就会驱动此硬件设备。
– 模块方式 : 编译生成一个 .o 文件 , 当应用程序需要时再动态加载进内核空间运行。
CWY 52008-04-18
1 Linux驱动配置• 1.3 模块加载方式配置
1.3.1 进入内核配置
CWY 62008-04-18
1 Linux驱动配置• 1.3 模块加载方式配置
1.3.2 内核支持 V4L
CWY 72008-04-18
1 Linux驱动配置• 1.3 模块加载方式配置
1.3.2 内核支持 V4L
CWY 82008-04-18
1 Linux驱动配置• 1.3 模块加载方式配置
1.3.2 内核支持 V4L
CWY 92008-04-18
1 Linux驱动配置• 1.3 模块加载方式配置
1.3.3 OV511 WebCam 的驱动模块支持
CWY 102008-04-18
1 Linux驱动配置• 1.3 模块加载方式配置
1.3.3 OV511 WebCam 的驱动模块支持
CWY 112008-04-18
1 Linux驱动配置• 1.3 模块加载方式配置
1.3.4 编译内核
CWY 122008-04-18
1 Linux驱动配置• 1.3 模块加载方式配置
1.3.4 编译内核
CWY 132008-04-18
1 Linux驱动配置• 1.3 模块加载方式配置
1.3.4 烧写内核– 烧写内核 zImage,
– 再烧写配置好的根文件系统 .
CWY 142008-04-18
1 Linux驱动配置• 1.4 编译模块
CWY 152008-04-18
1 Linux驱动配置• 1.5 加载模块
CWY 162008-04-18
1 Linux驱动配置• 1.5 使用模块
– 插入 OV511 USB 摄像头
CWY 172008-04-18
1 Linux驱动配置• 1.5 使用模块
CWY 182008-04-18
2 驱动的基本架构• 设备文件
– Unix 类操作系统都是基于文件概念的– 把 I/O 设备当作文件来处理– /dev 下面存在对应的逻辑设备节点
– 主设备号表明了某一类设备,对应着确定的驱动程序
– 次设备号用于区分同类设备中的不同设备
CWY 192008-04-18
2 驱动的基本架构
CWY 202008-04-18
3 摄像头驱动结构• 3.1 加载 / 卸载驱动
CWY 212008-04-18
3 摄像头驱动结构• 3.1 加载 / 卸载驱动
CWY 222008-04-18
3 摄像头驱动结构• 3.1 加载 / 卸载驱动
CWY 232008-04-18
3 摄像头驱动结构• 3.1 加载 / 卸载驱动
CWY 242008-04-18
3 摄像头驱动结构• 3.1 加载 / 卸载驱动
CWY 252008-04-18
3 摄像头驱动结构• 3.2 插入 / 拔除设备
CWY 262008-04-18
3 摄像头驱动结构• 3.2 插入 / 拔除设备
CWY 272008-04-18
3 摄像头驱动结构• 3.2 插入 / 拔除设备
CWY 282008-04-18
3 摄像头驱动结构• 3.2 插入 / 拔除设备
CWY 292008-04-18
3 摄像头驱动结构• 3.2 插入 / 拔除设备
CWY 302008-04-18
3 摄像头驱动结构• 3.2 插入 / 拔除设备
CWY 312008-04-18
3 摄像头驱动结构• 3.2 插入 / 拔除设备
CWY 322008-04-18
3 摄像头驱动结构• 3.2 插入 / 拔除设备
CWY 332008-04-18
3 摄像头驱动结构• 3.2 插入 / 拔除设备
CWY 342008-04-18
3 摄像头驱动结构• 3.2 插入 / 拔除设备
CWY 352008-04-18
3 摄像头驱动结构• 3.2 插入 / 拔除设备
CWY 362008-04-18
3 摄像头驱动结构• 3.2 插入 / 拔除设备
CWY 372008-04-18
3 摄像头驱动结构• 3.3 调用驱动接口函数
CWY 382008-04-18
3 摄像头驱动结构• 3.3 调用驱动接口函数
CWY 392008-04-18
3 摄像头驱动结构• 3.3 调用驱动接口函数
CWY 402008-04-18
3 摄像头驱动结构• 3.3 调用驱动接口函数
CWY 412008-04-18
4 最后• 4.1 其它主要技术
– USB– Video4Linux– 图像压缩 , 视频的编解码
CWY 422008-04-18
4 最后• 4.2 参考资料
– Linux 设备驱动程序– 深入理解 Linux 内核– 2410-S 实验指导书– IBM developerWorks – ov511+DataSheet– Video4Linux Programming– usb1.1 中文协议– Programming Guide for Linux USB
Device-1.32
CWY 432008-04-18
4 最后• 4.2 参考资料
– Linux USB Driver Basics – Linux OV511-OV518 Driver
Installation Instructions– 摄像头驱动实现源码分析–淺談 JPEG圖像壓縮演算法– 基于嵌入式 Linux 的 USB 摄像头驱动开发
CWY 442008-04-18
4 最后• 4.3 感谢
– uCLinux 组 : 柴佳杰 , 孙融 , 王磊– 其它 : 黄曦 , 李月宽
Thanks!
top related