Agent Skills
返回列表
💻

RDK X5 相机传感器 Bring-up

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_b4996f22/rdkx5-camera-bringup。

技能介绍

要解决什么问题

在 RDK X5 的 hobot-camera 子系统里接入一款新 CMOS 传感器,通常要同时改驱动目录、inc/*_setting.h 里的寄存器表,以及 hobot-spdev 里 vp_sensors/ 的管线配置。规格散落在 datasheet 与厂商 setting 文件中,寄存器宽度、MIPI lane 数、分页机制各不相同,照抄错误模板会导致编译通过但 I2C 或出图失败。

技能如何工作

本技能把 bring-up 拆成可执行阶段,而不是一次性堆代码:

  1. 信息收集:按清单补齐型号、I2C 地址与总线、分辨率/帧率/VTS、MIPI 与时序、RAW/Bayer、寄存器架构与控制寄存器、MCLK 与 GPIO 极性等;信息不全时要求你查 datasheet,不猜测寄存器值。
  2. 参考传感器:按寄存器位宽、lane 数、厂商匹配模板(如 Sony 2-lane 参考 imx219,OV 8-bit 分页参考 ov08d/f37,GalaxyCore 4-lane 参考 gc8613 等),并对照 *_utility.c 与 *_setting.h 的结构。
  3. 驱动生成:在 source/hobot-camera/drivers/sensor/ 下创建 version.mk、Makefile、*_utility.c(sensor_poweron/off、sensor_init、sensor_start/stop、sensor_linear_data_init 等)及 inc/*_setting.h;按地址宽度设置 CAM_MODULE_FLAG_A8D8 或 CAM_MODULE_FLAG_A16D8。
  4. vp_sensors 集成:新增 linear_*_raw*_fps_*lane.c,并在 vp_sensors.c 的 vp_sensor_config_list[] 中注册。
  5. 构建与收尾:用仓库约定的 ./mk_debs.sh hobot-camera 验证 lib.so 产出,并给出文件摘要、硬件验证步骤与 I2C 排查要点。

适用边界与注意点

  • 面向 RDK X5 / x5rdkmain 既定目录布局与 hb_i2c 代码风格;DTS 在内核树 source/kernel/arch/arm64/boot/dts/hobot/,技能流程以驱动与 vp 配置为主。
  • 父级 Makefile 通过 find 自动发现子目录;仅当某传感器不参与编译时才需写入 notuse。
  • 编译失败时查语法与 setting 数组格式;I2C 失败时重点核对 7-bit 地址、OV 分页(如 0xfd)以及 MCLK 是否先于 I2C 开启。

使用场景

  • 厂商提供新型号 setting 与 datasheet,需在 `hobot-camera/drivers/sensor/` 下生成 `*_utility.c` 与 `inc/*_setting.h` 并通过 `./mk_debs.sh hobot-camera` 编译。
  • 要在 CAM2 等总线上接入 2-lane RAW10 传感器,需按 imx219 或 ov08d 等模板选定参考驱动并补齐曝光、VTS、增益寄存器定义。
  • 驱动 `lib.so` 已产出但应用选不到分辨率模式,需在 `vp_sensors/` 新增 `linear_*_lane.c` 并在 `vp_sensors.c` 的列表中注册。
  • Bring-up 时 I2C 读 Chip ID 失败,需对照技能清单核对 7-bit 地址、OmniVision 分页寄存器及 MCLK 先于 I2C 开启等条件。

适合人员

  • 维护 x5_rdk_main 中 `hobot-camera` 传感器目录的 BSP 工程师,要把 IMX/GC/OV 新料按仓库风格接入并过编译。
  • 首次在 RDK X5 上改相机栈的嵌入式开发,需要从参考 `*_utility.c` 理解 power/ stream 与 `CAM_MODULE_FLAG` 含义。
  • 负责 MIPI CSI-2 板级联调的硬件或 FAE,需与软件对齐 lane 速率、RAW 格式与 GPIO 复位极性再写 setting。
  • 把厂商多分辨率寄存器表转成 C 初始化数组,并对接 `sensor_mode_config_init` 与可选 AE 控制的相机中间件开发。