关于camera:CamXCHI框架结构梳理一

56次阅读

共计 1185 个字符,预计需要花费 3 分钟才能阅读完成。

CamX-CHI 根本架构与根本组件的概念

CamX-CHI 根本架构

模块间的通信

Camera Provider<Main> 与 CamX 之间的通信:通过 Camera HAL3 接口实现相互沟通。
CamX 与 CHI 之间的通信: 通过相互 dlopen so 库和获取对方的操作接口并将本身的本地的操作方法中的函数地址赋值给回调函数 / 构造体中的每一个函数指针。
Camera provider 与 kenet/Driver 之间的通信: 通过 Camera Provider 的 CamX 中的 csl 专门与 Camera Driver 通信的模块建设连贯。

目录性能的论述

CamX 中的目录
Core 分为 hal 与 chi 目录:寄存 CamX 的外围实现模块

hal/:实现 hal3 接口的 hal/ 目录
chi/:负责 CHI 进行交互的 chi/ 目录 

hwl/:寄存本身算法具备独立运算能力的硬件 node— 受到 csl 治理
swl/:寄存并不具备独立运算能力,必须依附 CPU 能力实现的 node
csl/:负责 camx 与 camera driver 的通信模块,为 camx 提供了对立的 Camera driver 管制接口
CHI 中的目录
chioverride/:寄存 CHI 实现的外围模块,负责与 Camx 进行交互并且实现了 CHI 的总体框架以及业务解决
bin/: 寄存平台相干的配置信息。
topolog/: 寄存用户自定义的 Usecase xml 配置信息
node/: 寄存用户自定义性能的 node
module/: 寄存不同的 sensor 的配置文件,在初始化 sensor 时候须要用到。
tuning/: 寄存不同场景下的成果参数的配置文件。
sensor/: 寄存不同 sensor 的只有信息以及寄存器配置参数
actuator/: 寄存不同对焦模块的配置信息。
ois/: 寄存防抖模块的配置信息。
flash/: 寄存闪光灯模块的配置信息。
eeprom/: 寄存 eeprom 内部存储模块的配置信息。
fd/: 寄存人脸识别模块的配置信息。

根本组件

组件的基本概念

1)Usecase:负责了 CHI 中的业务解决以及资源管理。
2)Feature:代表一个特定的性能。
3)Session:用于治理 pipeline 的形象管制单元,其中至多蕴含一个 pipeline,并管制着所有的硬件资源,管控着每个 pipeline 外部的 request 流转以及数据的输入输出。
4)Pipeline:提供繁多特定性能的所有资源汇合,保护着所有硬件资源以及数据的流转,负责整条 pipeline 的软硬件资源的保护以及业务逻辑的解决。
5)Node:单个具备独立 11 解决性能的形象模块,能够是软件单元也能够是硬件单元。
6)Link:定义不同的 Port 的连贯端口 – 输出端口:<SrcPort>, 输入端口:<DstPort>。
7)Port:作为 Node 的输入输出端口 – 应用 OutputPort 以及 InputPort 构造定义 XML 文件。

组件之间的关系

正文完
 0