Hi3559V200 BSP 开发,Sensor OV2775 的移植
一、前言
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 拍摄图像
- 分享
- 举报

-
浏览量:14443次2019-09-21 19:14:57
-
浏览量:3783次2020-01-04 13:34:40
-
浏览量:2860次2019-11-05 20:18:39
-
2018-04-04 14:06:53
-
浏览量:4442次2018-03-31 20:59:15
-
浏览量:6601次2018-06-14 22:53:53
-
浏览量:5887次2018-04-03 09:53:34
-
浏览量:7423次2018-06-14 23:13:10
-
浏览量:1558次2024-01-06 10:33:06
-
浏览量:4357次2018-05-25 21:45:17
-
浏览量:4583次2020-08-05 20:40:46
-
浏览量:6098次2021-12-10 15:40:21
-
浏览量:1259次2023-10-13 10:22:12
-
浏览量:3038次2018-04-03 09:48:45
-
浏览量:3714次2022-01-31 09:00:24
-
浏览量:10359次2021-01-22 16:07:20
-
2024-01-06 10:44:04
-
2019-04-10 21:45:38
-
浏览量:11148次2020-12-16 18:56:54
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖

Asura






举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明