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文件。

组件之间的关系