香橙派5用什么摄像头

香橙派5用什么摄像头,第1张

香橙派5用的摄像头型号为OV5640。香橙派5测试用的摄像头型号为OV5640,香橙派官方适配的linux3.4和Linux5.4版本系统都支持该摄像头。将Ov5640摄像头转接板通过排线接到开发板的CIS摄像头接口上,接好摄像头后再启动linux系统(不要在上电后再插入摄像头)。

ov5693可以用OV5640代替,根据OV5693的设置,设置了OV5640的选项。此外由于需要修改extlinux.config中的启动dtb文件,因此根据make文件添加boot options选项。

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;知道怎么编译Android和kernel源码;怎么刷机;怎么调试;最好买块带Camera的Android开发板;

总结:

Android的Camera可以说Android所有驱动模块里面最难调试的模块,太复杂;即使你java很厉害;C也还可以;但是学习起来这个整个流程如果你是自学的话,我感觉还是太难;太费劲;还是是放弃吧!自扣太费劲了;如果有朋友懂带着你的话,给你演示演示,指点指点,2~3月还是有可能的;


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

原文地址: http://outofmemory.cn/yw/7468780.html

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

发表评论

登录后才能评论

评论列表(0条)

保存