camera v4l2 与 i2c 怎么建立联系

camera v4l2 与 i2c 怎么建立联系,第1张

1:硬件相关:简单数字电路要懂看懂电路图(简单)能根据电路找相应Camera硬件连接GPIO并根据芯片手册配置GPIO相应模式;比GPIO模式输入IO或输IO;或配置PWM模式;同模式GPIO工作式同;

2:Camera驱:比ov5640;要找本Linux驱相关书看看比《linux设备驱程序》知道简单linux设备驱写;工作Camera驱需要写参考使用参考驱般支持实现录像、拍照功能别白平衡、焦等都需要自调试;

3:要习V4L2协议驱导/dev/video0接口通V4L2协议;层C应用通V4L2协议访问/dev/video0;实际V4L2协议通些标志linux ioctl()函数底层驱通信;V4L2协议屏蔽各种Camera驱同(比usb摄像mipi接口摄像)提供统摄像驱通信规范;

4:要知道C++class相关知识能看C++代码既C知识哪C++面相象看懂知道C++class;要懂C++呢Android Camera HAL访问/dev/video0都用C++写二十几xxxx.cpp同类相互继承实现;且要懂Android HAL层写至少查查资料知道用哪看;般都CameraModule.cpp或CameraHal.cpp;

5:JNI写知道些至少抄些写都固定调试程候要java层跟踪代码HAL层再驱;

5:要用Linux所Android源码都Linux编译;要知道ARM架构交叉编译器;比arm-linux-gcc;知道编译Androidkernel源码;刷机;调试;买块带CameraAndroid发板;

上图是画的是针对Camera的Grpahic Buffer基本流向图

从图中可以看出,camera架构主要拥有三个进程

1、Camera App

2、CameraServer

3、CameraProvider

在研究Grpahic Buffer流向时,Camera App作为一个系统app,不免俗的要和SurfaceFlinger

进程打交道,可以认为Camera App的整个GUI的合成显示是交给SurfaceFlinger的。

而除了GUI的surface,camera还拥有一个用来显示preview的surface,这个surface的graphic

buffer是在当前进程分配,填充是camera provider进程填充的,具体步骤如上图所示,不在赘述。

内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的 *** 作系统结构,它们使得用户可以运行程序、管理文件并使用系统。部分层次结构如下图所示。

linux内核说明

内核是 *** 作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。

     Linux 内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管

     理等。这些组成其实是需要详细说明的

2 . linux shell

     shell是系统的用户界面,提供了用户与内核进行交互 *** 作的一种接口。它接收用户输入的 命令并把它送入内核去执行,是一个命令解释器。另外,shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的shell程序与其他应用程序具有同样的效果。

目前主要有下列版本的shell。

a.Bourne Shell:是贝尔实验室开发的。  

b.BASH:是GNU的Bourne Again Shell,是GNU *** 作系统上默认的shell,大部分linux的发行套件使用的都是这种shell。

c.Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。  

d.C Shell:是SUN公司Shell的BSD版本。

3 . linux 文件系统

文件系统是文件存放在磁盘等存储设备上的组织方法。Linux系统能支持多种目前流行的文件系统,如EXT2、 EXT3、 FAT、 FAT32、 VFAT和ISO9660。

4. linux 应用

标准的Linux系统一般都有一套都有称为应用程序的程序集,它包括文本编辑器、编程语言、X Window、办公套件、Internet工具和数据库等。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7245766.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存