linux 下驱动程序简介 —usb 摄像头 cwy-cts-sa117l 袁师盛 柴佳杰 孙融 王磊

Post on 19-Dec-2015

424 Views

Category:

Documents

7 Downloads

Preview:

Click to see full reader

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