海思3516A开发板调试整理(二)

海思3516A开发板Sensor调试与系统VIO详解
本文档详细介绍了海思3516A开发板上索尼IMX178LQJ Sensor的调试过程,包括通信方式确认、时钟配置和图像输出设置。此外,还探讨了Sensor驱动的依赖文件及其配置,以及系统VIO的在线和离线模式的区别,如在线模式节省内存但不支持某些操作,离线模式则可以通过DDR缓存进行前端抓图。同时,文章提及了H3A参数的配置和调试工具PQTool的使用,以及ISP、3A和Sensor之间的交互关系和统计信息的获取方法。

第四部分 Sensor调试

我们手头上这块开发板使用的是索尼的IMX178LQJSensor,那么完成以上的工作之后就进入了针对这款sensor的修改调试工作了。

  1. 依赖文件

SDK中针对sensor的驱动有以下几个依赖文件:

1). load3516a:这里主要是3516pinmux中几个跟sensor有关的寄存器,可修改。

2). sensor_i2c.ko /sensor_spi.ko:这两个文件二选一使用,主要是提供了和sensor通信的支持,需要根据sensor的通信方式进行进行有选择性地加载,加载操作在load3516a中。这两个ko的源码位于$(SDK_PATH)\mpp\extdrv 下,可修改。

3). libsns_xxx.a /libsns_xxx.so:这两个文件二选一使用,主要提供了sensor图像输出的配置接口,需要在应用层序中进行调用,使用静态库还是动态库方式都是可以的,如以imx178sensor为例,对应的库文件分别为libsns_imx178.alibsns_imx178.so,其源码位于$(SDK_PATH)\mpp\component\isp\sensor下,可修改。

以上几个文件是配置sensor时有可能需要进行配置的地方。目前,总部那边使用的ov4689sensor,在demo板上使用的驱动在SDK020基础上无需做任何修改。


  1. IMX178配置

第一步 通信方式

一般sensor的通信方式有SPII2C两种方式,至于IMX178LQJsensor通信方式,卖家提供给我的信息是使用SPI通信,但是从海思提供的配置和代码来看,是使用I2C的方式进行通信的,那么这里就出现了分歧,那么就获取官方信息吧,千方百计地找卖家要了一份IMX178datasheet,一查,有如下描述:

Imagedata output(Low voltage serial LVDS output)

Communicationport( IIC interface )


那么这就很明显了,通信方式是I2C通信,图像输出使用LVDS,那么再看load3516a中的配置,在insert_sns函数中imx178的分支配置了寄存器0x200f00500x200f0054分别设置为i2c0_scli2c0_sda,然后再看ko的加载,在函数insert_ko中有加载了sensor_i2c.ko,所以这些配置无误。

下面,对sensor的工作时钟进行配置。


第二步 时钟配置

对于sensor的输入时钟,在datasheet中介绍有如下几种工作模式:54MHzor 27MHz / 74.25MHz or 37.125MHz,在$(SDK_PATH)\mpp\component\isp\sensor\ readme_cn.txt文档中有针对sensor输入时钟的配置方法,其描述如下:

卖家提供的信息是需要配置成27M输入时钟,我经过测试发现在SDK030下,配置成25M时钟,sensor配置为1080p@60fps下出CVBS视频暂时没有问题,配置成27M时钟也没有问题,也就是说从目前的测试情况,两种工作模式都可以。至于是否会有其他方面问题,需要进一步验证。


第三步

<think>好的,我现在需要帮助用户解决关于海思SDK HIPQTools环境搭建的问题。用户的具体需求包括工具准备、添加未支持的sensor(如sc2210)、运行ITTP_Stream预览实时图像、用户程序图像输出方法,以及使用HiIspTool.sh和StartControl.sh脚本连接PC和开发板进行ISP参数配置和图像质量调试。 首先,我需要回顾用户提供的引用内容,特别是引用[1]、[2]、[3]中的信息。这些引用提到了Hi3516CV500_PQ_V2.0.2.1目录下的文件结构,包括HiIspTool.sh、StartControl.sh、configs、libs等,还有如何在板端加载驱动、修改配置文件,以及如何通过PC端工具进行调试。同时,用户提到需要添加未支持的sensor,比如sc2210,这可能涉及创建新的配置文件,并确保动态库正确。 接下来,我需要整理搭建环境的步骤。根据引用[3],板端操作包括加载内核模块、修改配置文件、挂载目录、设置环境变量,并运行脚本启动相关进程。PC端则需要使用ITTP_Stream进行预览,以及使用HiPQTool进行参数设置。添加新sensor可能需要复制现有配置文件(比如sc2231)并修改相关参数,同时可能需要编译或获取对应的库文件。 需要注意的是,用户可能遇到的常见问题包括驱动加载失败、配置文件路径错误、环境变量设置不当、网络连接问题,以及sensor动态库缺失。这些需要在步骤中提前提醒用户,并给出解决方法。 然后,我要确保回答结构清晰,分步骤讲解,每个步骤包含必要的命令和操作说明。同时,引用相关的引用内容,如引用[1]说明HiIspTool.sh的用法,引用[3]提到如何修改UseMode的值和挂载目录。还要确保使用正确的中文表达,避免技术术语错误。 最后,生成相关问题,帮助用户进一步了解可能遇到的扩展问题,比如如何验证sensor驱动是否正常,如何调试图像异常等。这些问题需要基于搭建环境过程中的关键点来设计,确保用户能够全面掌握整个流程。</think>### 海思SDK HIPQTools环境搭建教程 #### 一、工具准备 1. **基础环境**: - 开发板:Hi3516CV500系列或其他兼容型号 - PC端:Windows系统(需安装ITTP_Stream_V5.1.2点播工具和HiPQTool) - 网络:确保PC与开发板通过网线直连,IP地址在同一网段(如192.168.31.x)[^3] 2. **文件准备**: - 获取海思SDK包(如`Hi3516CV500_PQ_V2.0.2.1`),包含以下关键文件: - `HiIspTool.sh`:板端ISP控制脚本 - `StartControl.sh`:单独启动HiPQTool的脚本 - `configs/`:传感器配置文件目录 - `libs/`:传感器动态库目录[^1] --- #### 、添加未支持的Sensor(以SC2210为例) 1. **配置文件创建**: ```bash # 在configs目录下复制现有传感器模板(如sc2231) cd /opt/Hi3516CV500_PQ_V2.0.2.1/configs cp -r sc2231 sc2210 ``` - 修改`sc2210/config_entry.ini`: ```ini [Sensor] SensorName = sc2210 # 修改传感器名称 UseMode = 2 # 启用调试模式[^3] ``` 2. **动态库集成**: - 将`sc2210`的驱动库(如`libsc2210.so`)放入`libs/`目录 - 验证动态库依赖: ```bash ldd libs/libsc2210.so # 检查是否存在未解析符号 ``` --- #### 三、板端操作流程 1. **加载内核模块**: ```bash ./load3518ev300 -i -sensor0 sc2210 -osmem 32 # 根据实际平台修改加载参数[^3] ``` 2. **挂载PQ目录**: ```bash mount -t nfs 192.168.31.194:/home/HiSDK /home/nfs -o nolock cd /home/nfs/Hi3516CV500_PQ_V2.0.2.1 ``` 3. **启动ISP服务**: ```bash # 设置动态库路径 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/libs # 启动传感器控制 ./HiIspTool.sh -a sc2210 ./configs/sc2210 # 输出"ittb_stream run success!"即成功[^1] ``` --- #### 四、PC端操作 1. **图像预览**: - 打开ITTP_Stream工具,选择开发板IP地址 - 点击"Connect"获取实时码流(需确保`ittb_stream`进程正常运行)[^2] 2. **ISP参数调试**: - 运行HiPQTool,通过`StartControl.sh`建立连接 - 修改以下参数实现画质优化: ```ini [ImageTuning] ; 调整对比度 ContrastLevel = 3 ; 降噪强度 NoiseReduction = 2 ``` --- #### 五、用户程序图像输出 1. **码流获取**: - 检查编码模块状态: ```bash cat /proc/umap/venc # 确认编码通道工作正常[^3] ``` - 通过`ITTP_Stream`的"Record"功能保存原始码流 2. **自定义输出**: - 修改`config_entry.ini`的`OutputPath`字段指定存储路径 - 使用`ffmpeg`进行格式转换: ```bash ffmpeg -i input.h264 -c:v libx264 output.mp4 ``` --- #### 常见问题排查 | 现象 | 解决方法 | |------|----------| | ITTP_Stream无法连接 | 检查防火墙设置,确认`ittb_stream`进程存在 | | 动态库加载失败 | 执行`export LD_LIBRARY_PATH=$PWD/libs`显式指定路径 | | 图像花屏 | 检查sensor时钟配置和MIPI信号质量 |
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值