ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

高通车载相机软件栈:Camera2、CamX-CHI 与 QCarCam/AIS 的边界

高通车载相机软件栈:Camera2、CamX-CHI 与 QCarCam/AIS 的边界 在车机上调用CameraManager.openCamera(),就能确定底层使用了 CamX 吗?这个问题看起来简单,实际却把应用接口、厂商实现和硬件接入混在了一起。做 Android 应用时,通常关注相机能否打开;做车载 BSP 时,还需要知道设备由哪个服务管理、图像在哪个系统采集、什么时候能够显示。看见 Camera2,只能确认应用使用了 Android 相机接口,不能直接确认其后端。本文从这一区别出发,整理高通车载相机常见的软件分层,再给出一套定位实际链路的方法。内容是架构解读,不是某块开发板的实测记录;具体服务、库名和拓扑仍须以目标 BSP 为准。一、先把三个层次分开相机软件栈可以从三个问题理解:应用如何请求图像?厂商如何实现请求?图像如何从硬件进入系统?层次代表概念回答的问题应用和框架接口Camera2、EVS客户端怎样打开设备、取流、接收结果?厂商软件实现CamX-CHI、QCarCam/AIS 相关组件谁配置处理流程、管理采集与资源?硬件与驱动Sensor、串行器/解串器、CSI、ISP数据怎样接入、处理并写入缓冲区?Camera2 是 Android 的标准接口;CamX-CHI 是高通相机实现中的架构;EVS 则是 AAOS 的车载接口体系。它们不处于同一个层次,也不是互相替换的三个名字。另外,GMSL 是硬件传输链路,不能单凭它推断用户态软件。经过解串器之后,图像还会进入后续接收与处理单元;最终怎样向应用暴露设备,取决于驱动和厂商适配。二、两类常见链路:不要把示意图当成固定配置为了建立全局认识,可以先看两类常见架构。第一类面向 Android 相机应用:Android 应用 / Camera2 → CameraService → Camera Provider / Camera Device HAL → 厂商实现,例如 CamX-CHI → 驱动与图像硬件第二类面向车载采集和显示需求。在参考文章讨论的 QCarCam/AIS 方案中,客户端通过厂商取流接口访问采集服务;Android 侧还可能通过 EVS HAL 或 Camera HAL 做适配。图 1:概念分层图。虚线表示可能的适配关系,不代表所有平台均提供该连接。这里尤其要注意:EVS 不等于 AIS。EVS 定义 Android 侧的接
返回列表