Hi3559V200 BSP 开发,Sensor OV2775 的移植

Hi3559V200 BSP 开发,Sensor OV2775 的移植 Asura 2023-11-10 14:09:44 255

一、前言

Hi3559V200 平台的 SDK 支持 IMX458、IMX415 等多种 Sensor,但是如果我们要使用一款 SDK 不支持的 Sensor 该怎么办呢?

这时候我们就要在 SDK 中自己手动添加 Sensor 驱动和配置,下面以 OV2775 这款 Sensor 为例子介绍添加一款新 Sensor 的步骤。

使用的硬件平台是 Hi3559V200DMEB VER.A,使用的 SDK 版本是 Hi3559V200_MobileCam_SDK_V1.0.1.5。

二、硬件原理图

2.1 确认 Sensor 接口

易百纳社区

图 2.1 Sensor 接口原理图

根据以上的原理图可以得知,Hi3559V200 平台的 Sensor 可以通过 SPI 或 I2C 控制,数据通过 MIPI_RX 传输。然后对于 OV2775,我们可以采用 I2C 进行控制,与原配的 IMX458 一样,可以使用 I2C0 控制 OV2775。

三、添加 OV2775 设备

3.1 在 MPP 层添加

  • 需要在 Hi3562V100 的 SDK 中获得 Sensor 的驱动文件,在amp/a7_liteos/mpp/component/isp/user/sensor/hi3559v200/ 目录内创建 omnivision_ov2775 目录,把 OV2775 的驱动放到该目录下:

易百纳社区

图 3.1 OV2775 驱动文件

  • 在 ov2775_sensor_ctl.c 文件修改 I2C 接口初始化函数:

易百纳社区

图3.2 修改 ov2775_sensor_ctl.c 文件

  • 进入 amp/a7_liteos/mpp/component/isp/user/ 目录下,直接执行 make all,然后在 ./lib 目录内可以看到已经成功编译出 OV2775 的库:

易百纳社区

图 3.3 生成 OV2775 库

3.2 在 NDK 层添加

  • 在 middleware/ndk/code/mediaserver/configs/sensor/ include/sensor_interface_cfg_params.h 头文件中定义 OV2775:

易百纳社区

易百纳社区

图 3.4 添加 OV2775 宏定义

  • 在 ndk/code/mediaserver/configs/sensor/hi35xx 目录下新建一个 omnivision_ov2775 文件夹,并且新增 sensor_interface_cfg_param.c 和 Makefile

两个文件(可以参考其他sensor),修改 Makefile 的 TARGET 如下:

易百纳社区

图 3.5 修改 ndk 参数设置的 Makefile

  • 在 ndk\code\mediaserver\configs\sensor\hi35xx\comm\register_sensor\ 目录下

register_sensor.c 文件中调用 MAPI_SENSOR_Load 函数注册对应 sensor 库:

易百纳社区

图 3.6 ndk 注册 Sensor 库

3.3 在 reference 层添加

  • 在 reference/dashcam/modules/init/amp/liteos/src/hi_product_init_hi3559v200.c 文件内添加 OV2775 的配置:

易百纳社区

图 3.7 reference 添加 OV2775 配置

  • 在 reference/dashcam/modules/scene/inicfg/hi3559v200/ 目录下建立 ov2775 文件夹,用来存放 Sensor 的配置文件,

可以参考其他 Sensor 已有文件将各图像参数写到配置文件中。

易百纳社区

图 3.8 添加配置文件

  • 在 reference/dashcam/modules/param/inicfg/hi3559v200/carrecorder/ov2775 下参考已有文件配置 param 参数:

易百纳社区

图 3.9 添加参数文件

四、添加 Menuconfig

4.1 在 build/Kconfig.board 文件中,在“Sensor Configure”对应的 Dev 下,添加 sensor 型号:

易百纳社区

图 4.1 menuconfig 添加 sensor 型号

4.2 在 build/kconfig.mak 文件中,在 Sensor Type 中添加对应的 sensor 类型字符串以及对应 sensor 编译宏:

易百纳社区

图 4.2 menuconfig 添加 sensor 编译宏

4.3 在 build/base.mak 文件中,在 NDK Configure 下增加新 sensor 编译选项适配:

易百纳社区

图 4.3 添加 menuconfig 编译选项

五、验证过程

5.1 menuconfig 中 “Sensor Configure” 编译选项下将 dev[0] 修改为 ov_2775:

易百纳社区

图 5.1 修改 menuconfig

5.2 重新编译整个 SDK,烧写镜像文件到板端,等待系统启动即可看到 LCD 屏输出 OV2775 的图像数据,表示 OV2775 移植到 Hi3559V200 平台成功:

易百纳社区

图 5.2 OV2775 摄像头

易百纳社区

图 5.3 OV2775 拍摄图像

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
Asura
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
Asura
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区