第24讲 CDM工作流程

本讲是Camera KMD ISP子系统专题的第24讲,我们讲解Camera KMD ISP子系统CDM之工作流程。

更多资源:

资源 描述
在线课程 极客笔记在线课程
知识星球 星球名称:深入浅出Android Camera
星球ID: 17296815
Wechat 极客笔记圈

CDM bl request

  • struct cam_cdm_bl_request – Cam CDM HW base & length (BL) request

  • BL(base&length) 意思就是提供cdm命令的基地址和长度给cdm hw, cdm hw就可以正确解析一个cdm命令了。

CDM命令分类

CDM 命令有哪些

  • CAM_CDM_CMD_DMI //一般用于配置look up table
  • CAM_CDM_CMD_REG_CONT //连续寄存器配置
  • CAM_CDM_CMD_REG_RANDOM //随机寄存器配置
  • CAM_CDM_CMD_BUFF_INDIRECT //cdm命令在另外一个Buffer,间接访问这些CDM命令
  • CAM_CDM_CMD_GEN_IRQ //产生一个中断
  • CAM_CDM_CMD_CHANGE_BASE //修改硬件寄存器base addr,例如多个tfe共用一个cdm hw时
  • CAM_CDM_CMD_COMP_WAIT //等待一个comp 事件
  • CAM_CDM_CLEAR_COMP_WAIT //清除一个comp 事件

CDM命令存在形式

CDM命令存在形式

CDM DMI Command

CDM DMI Command

CDM REG Continuous Command

CDM REG Continuous Command

CDM REG Continuous Command

CDM REG Random Command

CDM REG Random Command

CDM REG Random Command

CDM Indirect Command

CDM Indirect Command

CDM Indirect Command

如何使用CDM

Client->data.cam_cdm_callback回调接口是client 调用cam_cdm_acquire()时传进来的

如何使用CDM

struct cam_cdm_bl_request介绍

cam_cdm_submit_bls()接口的参数struct cam_cdm_bl_request

所有的cdm 命令都是组装到cam_cdm_bl_request中发送到cdm hw

struct cam_cdm_bl_request介绍

  • 如何组装cam_cdm_bl_request

  • 实际上所有的cdm命令都是存放在cmd buffer中,需要一个一个编排到cam_cdm_bl_request中

struct cam_cdm_bl_request介绍

CDM hw解析执行bl request

CDM hw解析执行bl request

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程