01. SIPL 驱动开发深度拆解

核心目标:理解 SIPL 框架的插件化设计,掌握如何为一个新的 CMOS 传感器或 SerDes 芯片编写驱动插件。

1. SIPL 架构中的“插件”逻辑

英伟达 SIPL (Sensor Input Processing Library) 并不是一个死板的库,而是一个通过 CDI (Camera Device Interface) 暴露的框架。

graph TD SIPL_Core -->|调用| CDI CDI -->|实现| Sensor_Plugin CDI -->|实现| SerDes_Plugin

2. 关键接口:CDI 虚函数实现

// 示例:设置传感器曝光
NvMediaStatus MySensor_SetExposure(DevID devId, float exposureTime) {
    uint32_t regVal = CalculateRegFromTime(exposureTime);
    return WriteReg(devId, EXPOSURE_ADDR, regVal);
}

3. JSON 平台配置文件

关键字段:
· csiLaneConfiguration: MIPI Lane 数 (1/2/4)。
· i2cAddress: 传感器 7/8 位地址。
· serdesLink: 对应解串器入口。