44
Linux 下下下下下下下 —USB 摄摄摄 CWY-CTS-SA117L 下下下 下下下 下下 下下

Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

  • View
    424

  • Download
    7

Embed Size (px)

Citation preview

Page 1: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

Linux下驱动程序简介

—USB 摄像头

CWY-CTS-SA117L袁师盛柴佳杰孙融王磊

Page 2: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 22008-04-18

0 要点

1. Linux驱动配置2. 驱动的基本架构3. 摄像头驱动结构4. 最后

Page 3: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 32008-04-18

1 Linux驱动配置• 1.1 什么是驱动程序

– 驱动程序是应用层和硬件设备之间的一个软件层

– 它向应用层提供了一组标准化的调用接口 , 同时完全隐藏设备的工作细节

– 驱动程序将特定的硬件功能映射为统一的接口 ( 使硬件可用 ), 而将怎样使用硬件的问题留给上层应用 ( 不给应用层强加使用策略 )

Page 4: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 42008-04-18

1 Linux驱动配置• 1.2 linux 中驱动的存在方式

– 编译进内核 : 启动内核时就会驱动此硬件设备。

– 模块方式 : 编译生成一个 .o 文件 , 当应用程序需要时再动态加载进内核空间运行。

Page 5: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 52008-04-18

1 Linux驱动配置• 1.3 模块加载方式配置

1.3.1 进入内核配置

Page 6: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 62008-04-18

1 Linux驱动配置• 1.3 模块加载方式配置

1.3.2 内核支持 V4L

Page 7: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 72008-04-18

1 Linux驱动配置• 1.3 模块加载方式配置

1.3.2 内核支持 V4L

Page 8: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 82008-04-18

1 Linux驱动配置• 1.3 模块加载方式配置

1.3.2 内核支持 V4L

Page 9: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 92008-04-18

1 Linux驱动配置• 1.3 模块加载方式配置

1.3.3 OV511 WebCam 的驱动模块支持

Page 10: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 102008-04-18

1 Linux驱动配置• 1.3 模块加载方式配置

1.3.3 OV511 WebCam 的驱动模块支持

Page 11: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 112008-04-18

1 Linux驱动配置• 1.3 模块加载方式配置

1.3.4 编译内核

Page 12: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 122008-04-18

1 Linux驱动配置• 1.3 模块加载方式配置

1.3.4 编译内核

Page 13: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 132008-04-18

1 Linux驱动配置• 1.3 模块加载方式配置

1.3.4 烧写内核– 烧写内核 zImage,

– 再烧写配置好的根文件系统 .

Page 14: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 142008-04-18

1 Linux驱动配置• 1.4 编译模块

Page 15: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 152008-04-18

1 Linux驱动配置• 1.5 加载模块

Page 16: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 162008-04-18

1 Linux驱动配置• 1.5 使用模块

– 插入 OV511 USB 摄像头

Page 17: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 172008-04-18

1 Linux驱动配置• 1.5 使用模块

Page 18: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 182008-04-18

2 驱动的基本架构• 设备文件

– Unix 类操作系统都是基于文件概念的– 把 I/O 设备当作文件来处理– /dev 下面存在对应的逻辑设备节点

– 主设备号表明了某一类设备,对应着确定的驱动程序

– 次设备号用于区分同类设备中的不同设备

Page 19: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 192008-04-18

2 驱动的基本架构

Page 20: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 202008-04-18

3 摄像头驱动结构• 3.1 加载 / 卸载驱动

Page 21: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 212008-04-18

3 摄像头驱动结构• 3.1 加载 / 卸载驱动

Page 22: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 222008-04-18

3 摄像头驱动结构• 3.1 加载 / 卸载驱动

Page 23: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 232008-04-18

3 摄像头驱动结构• 3.1 加载 / 卸载驱动

Page 24: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 242008-04-18

3 摄像头驱动结构• 3.1 加载 / 卸载驱动

Page 25: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 252008-04-18

3 摄像头驱动结构• 3.2 插入 / 拔除设备

Page 26: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 262008-04-18

3 摄像头驱动结构• 3.2 插入 / 拔除设备

Page 27: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 272008-04-18

3 摄像头驱动结构• 3.2 插入 / 拔除设备

Page 28: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 282008-04-18

3 摄像头驱动结构• 3.2 插入 / 拔除设备

Page 29: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 292008-04-18

3 摄像头驱动结构• 3.2 插入 / 拔除设备

Page 30: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 302008-04-18

3 摄像头驱动结构• 3.2 插入 / 拔除设备

Page 31: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 312008-04-18

3 摄像头驱动结构• 3.2 插入 / 拔除设备

Page 32: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 322008-04-18

3 摄像头驱动结构• 3.2 插入 / 拔除设备

Page 33: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 332008-04-18

3 摄像头驱动结构• 3.2 插入 / 拔除设备

Page 34: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 342008-04-18

3 摄像头驱动结构• 3.2 插入 / 拔除设备

Page 35: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 352008-04-18

3 摄像头驱动结构• 3.2 插入 / 拔除设备

Page 36: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 362008-04-18

3 摄像头驱动结构• 3.2 插入 / 拔除设备

Page 37: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 372008-04-18

3 摄像头驱动结构• 3.3 调用驱动接口函数

Page 38: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 382008-04-18

3 摄像头驱动结构• 3.3 调用驱动接口函数

Page 39: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 392008-04-18

3 摄像头驱动结构• 3.3 调用驱动接口函数

Page 40: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 402008-04-18

3 摄像头驱动结构• 3.3 调用驱动接口函数

Page 41: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 412008-04-18

4 最后• 4.1 其它主要技术

– USB– Video4Linux– 图像压缩 , 视频的编解码

Page 42: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

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

Page 43: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 432008-04-18

4 最后• 4.2 参考资料

– Linux USB Driver Basics – Linux OV511-OV518 Driver

Installation Instructions– 摄像头驱动实现源码分析–淺談 JPEG圖像壓縮演算法– 基于嵌入式 Linux 的 USB 摄像头驱动开发

Page 44: Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊

CWY 442008-04-18

4 最后• 4.3 感谢

– uCLinux 组 : 柴佳杰 , 孙融 , 王磊– 其它 : 黄曦 , 李月宽

Thanks!