高通对于 camera 的代码组织大体是遵循 Android 架构的,但对于最核心的 sensor 端底层设
置、ISP 效果参数等进行了单独的剥离,放在 daemon 进程中进行。

一.camera daemon 进程
daemon 进程作为单一进程,main 函数的入口,位置如下:
/project/vendor/qcom/proprietary/mm-camera/mm-camera2/server-imaging/server.c
/project/vendor/qcom/proprietary/mm-camera/mm-camera2/serverimaging/server_process.c
在此函数中,主要做以下几件事情:
1.找到服务节点名称并打开:
boolean get_server_node_name(char *node_name)
2.初始化模块
boolean server_process_module_init
……temp = modules_list[i].init_mod(modules_list[i].name);…
此处加载 MCT 下的六大模块(树结构下的六大模块)
3.进入主循环处理 HAL 层以及 MCT 的时间和消息,看其枚举定义:
typedef enum _read_fd_type {
RD_FD_HAL, ----------------server_process_hal_event()—返回
真,说明消息传递给 MCT;反之没有;
RD_DS_FD_HAL, ----------server_process_hal_ds_packet()—通过
domain socket 传来自 HAL 层的消息;
RD_PIPE_FD_MCT, ----------------来自 media controller 的消息;
RD_FD_NONE
} read_fd_type;

二.驱动代码架构
camera deamon 代码位于 vendor/qcom/proprietary/mm-camera/mm-camera2 目录下,
在此目录下有 media-controller,server-tuning,server-imaging,我们需要关注的是 mediacontroller 目录,整个树形结构如下:

而在 kernel 部分只是进行了 V4L2 的设备注册,IIC 设备注册等简单的动作,主文件
是 msm.c,负责设备的具体注册和相关方法的填充;在 msm_sensor.c 中,主要是维护一个
sensor 结构体 msm_sensor_ctrl_t,同时吧 dts 文件中的配置信息读出来。

原文地址:http://blog.chinaunix.net/uid-7213935-id-5749311.html

高通msm8909 平台camera 系统软件架构相关推荐

  1. 高通MSM8909平台L1系统修改LDO电压值

    文档说明 本文档以SC806-CN-00(MSM8909平台)为例,说明如何修改LDO电压值. 修改方法 以修改LDO5,从1.8V改为1.9V为例. 首先查看PM8909的IC specificat ...

  2. 高通MSM8909 qpnp-vibrator.c

    记录高通MSM8909平台的vibrator manual mode的工作方式: static int qpnp_vibrator_probe(struct spmi_device *spmi) { ...

  3. 【高通SDM660平台 Android 10.0】(13) --- Camera ISP 之 数字成像系统介绍

    [高通SDM660平台 Android 10.0] --- Camera ISP 之 数字成像系统介绍 一.成像系统的组成 1.1 视角 1.2 曝光 1.3 感光度 ISO 1.4 光源 1.5 光 ...

  4. android_驱动_qcom_【高通SDM660平台】(4) --- Camera Init 初始化流程

    [高通SDM660平台]Camera Init 初始化流程 一.Camera 系统架构 二.Camera Init 初始化流程 2.1 CameraService 启动 2.2 CameraServi ...

  5. Android O 的camera framework-hal层框架笔记(基于高通845平台)

    Android O 的camera framework/hal层框架笔记(基于高通845平台) tags: android camera 文章目录 Android O 的camera framewor ...

  6. 【高通SDM660平台】(1) --- Camera 驱动 Bringup Guide

    [高通SDM660平台]Camera 驱动 Bringup Guide 一.Kernel 代码移植 1. DTS 文件配置 1.1 sdm660.dtsi 1.2 sdm660-camera.dtsi ...

  7. 高通Android平台硬件调试之Camera篇

    之前一段时间有幸在高通android平台上调试2款camera sensor,一款是OV的5M YUV sensor,支持jpeg out,同时也支持AF,调试比较比较简单,因为别的项目已经在使用了, ...

  8. 【高通SDM660平台 Android 10.0】(14) --- Camera ISP

    [高通SDM660平台 Android 10.0]--- Camera ISP 一.Camera ISP 与 DSP 区别 1.1 名词解释 1.2 功能解释 1.3 手机摄像头ISP是独立好还是内置 ...

  9. 【高通SDM660平台 Android 10.0】(10) --- Camera Sensor lib 与 Kernel Camera Probe 代码分析

    [高通SDM660平台 Android 10.0]Camera Sensor lib 与 Kernel Camera Probe 代码分析 一.libmmcamera_imx258.so 代码分析 1 ...

  10. 【高通SDM660平台 Android 10.0】(12) --- Camera Chromatix 代码分析

    [高通SDM660平台 Android 10.0]Qcom Camera Daemon 代码分析 一.chromatix_imx258_lc898217xc 目录 1.1 例:imx258_lc898 ...

最新文章

  1. 面试官:为什么MySQL的索引要使用B+树,而不是其它树?比如B树?
  2. 幕后我最“牛” | 数据派优秀志愿者风采展
  3. 使用Windows远程桌面(mstsc)通过RDP协议访问Ubuntu/Debian服务器
  4. 写论文时的一些高大上词句
  5. vmware nat模式网络不通_笨笨狗教你如何解决VMware虚拟机桥接网络不通问题?
  6. 作者:宋杰(1980-),男,博士,东北大学软件学院副教授
  7. ROSE User Case View
  8. 设置iis网页服务器cpu占比,asp.net-如何防止由于iis中的工作进程而导致CPU使用率100%...
  9. wo-27s管理员账户和密码_“无法使用内置管理员账户打开”应用
  10. laravel+redis通过api简单实现微博登陆注册关注取消关注发布信息等
  11. 《魔兽世界》衰败之因:掉进“大数据陷阱”
  12. AutoSAR系列讲解(深入篇)13.1-闪烁一颗LED灯 1
  13. win7 计算机无法搜索,Win7电脑搜索功能不能用的解决方法
  14. golang学习资源
  15. 领导逼迫员工离职的10大套路
  16. nagios详细解说
  17. .netframewor金山卫士推送微软8月补丁 IE所有版本存在高危漏洞
  18. 为何优秀的程序员不断离开?,阿里P8架构师
  19. 裁判文书网 爬虫 最新更新2020-08-12
  20. Windows server 2016 AD域的安装和升级域控制器

热门文章

  1. Java、JSP电子书下载系统
  2. GTF - Great Teacher Friedman
  3. authware课件
  4. 正确安装adb工具,且常用的adb命令
  5. c语言及程序设计基础 pdf,《C语言程序设计基础》.pdf
  6. Java旅游管理系统本科生毕业设计开题报告
  7. Fiddler4抓包工具使用教程
  8. Android SDK下载网址
  9. ROST情感分析的语法规则_基于「木兰」编译器,八行代码实现 quot;对于...中的quot;语法
  10. linux纯终端下中文输入,Linux中文输入法的问题解决