一. 摄像头在linux系统中作为V4L2设备,V4L2是linux针对视频设备(包括视频输入与输出设备)而开发的子系统。linux设备通常将自己作为设备文件向内核注册,用户空间程序像操作普通文件一样操作底层设备。为了方便对系统中众多的视频设备进行统一管理,抽象出V4L2框架。在V4L2框架下,视频设备作为V4L2向V4L2注册。用户进程直接调用V4L2提供的统一接口,进而由V4L2调用视频设备向其注册回调。为对摄像头(camera)设备以及soc的图像处理模块ISP(image signal process)进行管理,在V4L2框架内有实现了soc-camera子系统。简单的驱动层次示意图如下: