欢迎来到天天文库
浏览记录
ID:49619826
大小:809.50 KB
页数:9页
时间:2020-03-02
《Camera 分析.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Camera分析话说camera模块,从上层到底层一共包含着这么几个部分:1、apk------java语言2、camera的java接口----java语言frameworks/base/core/java/android/hardware/Camera.java3、camera的java接口的具体实现,即所谓的JNI-----(java—>C++)native_setup(Objectcamera_this,intcameraId);此处通过红色native字段可以确定native_setup调用的就是jni接口.即frameworks
2、/base/core/jni/android_hardware_Camera.cpp中具体实现了这个函数,让我们来看看它是是如何转接这个函数的.4、camera客户端-----C++语言5、camera服务器----C++语言后半部分代码1.mModule怎么赋值的呢?原来它是由voidCameraService::onFirstRef()调用时候去得到hardware中相关接口找了半天也就是它这个函数里边有hw_get_module()这个函数,一看名字就知道是获取hardware的,不找它找谁啊。那么onFirstRef()函数又是何时
3、调用的?onFirstRef()属于其父类RefBase,该函数在强引用sp新增引用计数时调用,什么意思?就是当有sp包装的类初始化的时候调用。这里在frameworks/base/services/camera/libcameraservice/CameraService.h中classCameraService:中有定义2.client->initialize(mModule)client根据deviceVersion决定是哪个类实例(CameraClient、Camera2Client)以CameraClient为例6、camera硬
4、件抽象层,即所谓的HAL------C++语言在open函数最后一段就是实例化具体某个摄像头7、camera驱动如上也是camera的整个调用流程.但是,如此泛泛而谈,实在是太空了.想当初刚开始搞camera,单单驱动的V4L2已经够头大了,何况要涉及调试具体sensor的图像帧率,频率,输出格式等等,更不要说什么DMA对齐,图像闪动,色彩不对之类的疑难杂症了.还是分别讲讲它们分别的作用吧Camera的驱动在哪里呢?我们以N818S来分析首先我们进入shell命令找到摄像头驱动名称然后进入kernel搜索关键字根据头文件一步步找到了boar
5、d-rk3168-tb.c是主板加载文件这是配置摄像头引脚,配错了的话就起不来了还引用了rk30_camera.c文件rk30_camera.c中引用了rk_camera.c文件如何添加新的相机驱动?主要修改文件v4l2-chip-ident.h、rk_camera.h、board-rk3168-tb-camera.c曾加文件gc0909.c参照gc0308.c格式详细修改
此文档下载收益归作者所有