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