linux驱动由浅入深系列:camera驱动之二(基于高通平台的V4L2结构及代码分析)

在上一篇文章中介绍了camera的基础知识和相关概念,我们一起来了解一下驱动相关的代码结构。本文以高通+android平台为示例,首先看一下整体框图:
linux驱动由浅入深系列:camera驱动之二(基于高通平台的V4L2结构及代码分析)_第1张图片
这张图是从整体上来看的
1,图中最下面的是kernel层的驱动,其中按照V4L2架构实现了camera sensor等驱动,向用户空间提供/dev/video0节点

2,在往上是HAL层,高通代码实现了对/dev/video0的基本操作,对接了android的camera相关的interface。(ps,HAL层的库中也封装了sensor端一些核心逻辑代码。将驱动的操作逻辑放在HAL层是为了避免linux的开源属性对厂商私有技术的泄露)3,在之上就是android的架构对camera的处理,不是本文重点,暂不展开。

V4L2架构图
本小节内容摘自(http://blog.csdn.net/rubyboss/article/details/14053523)

linux驱动由浅入深系列:camera驱动之二(基于高通平台的V4L2结构及代码分析)_第2张图片
V4L2支持三类设备:视频输入输出设备、VBI设备和radio设备(其实还支持更多类型的设备,暂不讨论),分别会在/dev目录下产生videoX、radioX和vbiX设备节点。
Linux系统中视频输入设备主要包括以下四个部分:
字符设备驱动程序核心

你可能感兴趣的:(linux驱动由浅入深系列)