Hi3519DV500 实用操作命令手册(完整版)
开发板:HongOU PI (鸿鸥派) ·芯片:Hi3519DV500 ·摄像头:OS04A10
本文涵盖从连接开发板到AI推理的全套命令,实测验证通过,建议收藏备查。
目录
- 连接开发板
- 加载摄像头驱动
- 配置传感器时钟
- 检测摄像头 (I2C扫描)
- RTSP推流测试 — VENC
- Ubuntu端拉流查看画面(含翻转)
- AI ISP 模式指南(sample_aiisp)
- SVP(NPU AI)测试(sample_svp_npu_main)
- 已验证成功的工作流程
- 附录:参数速查表
- 调试经验记录
- 全部成功命令记录
1. 连接开发板
串口连接 (DEBUG口, Type-C, CH340E)
# Ubuntu/Linux 用 minicom 或 screen 连接sudominicom-D/dev/ttyUSB0-b115200# 或sudoscreen/dev/ttyUSB0115200
SSH 连接 (局域网)
sshroot@192.168.1.168# 密码: ebaina
2. 加载摄像头驱动
驱动加载脚本
cd/komod&&./load3519dv500-a-sensor0os04a10-vo_intfmipitx
参数说明
| 参数 | 值 | 含义 |
|---|
-a | — | 先卸载所有模块,再重新插入(a = all, remove first then insert) |
-sensor0 | os04a10 | 主摄像头传感器型号 |
-vo_intf | mipitx | 视频输出接口类型 |
-board | dmeb | 板型配置 (默认 dmeb) |
-mmz_start | 0x48200000 | MMZ内存起始地址 |
-mmz_size | 1918M | MMZ内存大小 |
-ir_auto | 1 | 红外自动切换使能 |
-vo_intf可选值
| 值 | 适用场景 |
|---|
bt1120 | 默认值,BT.1120并行输出(接HDMI芯片/模拟输出) |
mipitx | MIPI DSI输出(接MIPI显示屏) |
bt656 | BT.656输出 |
none | 不启用视频输出 |
⚠️注意:-vo_intf参数控制的是视频输出接口(画面送到哪里),与摄像头MIPI输入(摄像头通过MIPI CSI输入)是独立的。摄像头始终走 MIPI RX 通道 (ot_mipi_rx.ko),不受-vo_intf影响。
可用传感器类型
| 传参名字 | 型号 | 备注 |
|---|
os04a10 | OS04A10(4MP, 30fps, 12bit) | ✅ 当前使用的摄像头 |
os08a20 | OS08A20 (8MP) |
imx347_slave | SONY IMX347 (从模式) | 出厂默认 |
imx515 | SONY IMX515 |
sc450ai | SC450AI (4MP) |
sc850sl | SC850SL |
bt1120/bt656/bt601 | — | 非MIPI传感器输入 |
卸载驱动
cd/komod&&./load3519dv500-r
仅插入驱动 (不先卸载)
cd/komod&&./load3519dv500-i-sensor0os04a10-vo_intfmipitx
3. 配置传感器时钟
背景
OS04A10 摄像头传感器需要24MHz的工作时钟,但开发板出厂默认配置为 IMX347 用的37.125MHz。每次上电后需要手动设置。
读取当前时钟值
bspmm 0x11018440
输出示例:
====dump memory 0X11018440==== 0x11018440: 0x00008001
返回值含义:
| 寄存器值 | 时钟频率 | 对应的传感器 |
|---|
0x00008001 | 37.125 MHz | IMX347 (出厂默认) |
0x00004001 | 24 MHz | OS04A10 ✅ |
设置时钟为 24MHz (OS04A10)
bspmm 0x11018440 0x4001
命令格式
bspmm<地址><值># 写入bspmm<地址># 读取
⚠️注意:bspmm写的是芯片内部寄存器,掉电后会丢失。每次开发板上电后都需要重新设置。
一键脚本参考
可以在/root/init.sh或/etc/init.d/中添加如下内容实现开机自动配置:
#!/bin/sh# 设置传感器时钟为 24MHz (OS04A10)bspmm 0x11018440 0x4001# 加载驱动cd/komod&&./load3519dv500-i-sensor0os04a10-vo_intfmipitx
4. 检测摄像头 (I2C扫描)
背景
摄像头通过 I2C 总线与主控通信,当前 OS04A10 的 I2C 地址为0x36(7位地址),实测 I2C 总线3上还有设备0x21(其他外设)。
扫描 I2C 总线
# 扫描总线 3 (摄像头专用 I2C 总线)i2cdetect-y-r3
正常输出示例 (摄像头已连接)
0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: 21 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- 36 -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
出现0x36→ ✅ OS04A10 摄像头已检测到
出现0x21→ ✅ 其他 I2C 外设(正常)
异常输出示例 (摄像头未连接)
0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
全部--→ ❌ 摄像头未检测到,检查:
- FPC 排线是否插好、方向是否正确
- 排线是否锁紧(黑色翻盖压下)
- 摄像头芯片是否发热(说明供电正常)
- 传感器时钟是否设为 24MHz
5. RTSP推流测试 — VENC
命令
cd/root&&./sample_venc0103
注意:格式为./sample_venc <index> <rtsp> <vo_intf> <sensor>,共4个参数。
参数说明
| 参数位置 | 参数名 | 值 | 含义 |
|---|
| 第1个 | index | 0 | normal 编码模式(H.265 + H.264 双编码) |
| 第2个 | rtsp_enable | 1 | 启用RTSP推流 |
| 第3个 | vo_intf_type | 0 | MIPI_TX 输出 |
| 第4个 | sensor0_type | 3 | OS04A10 WDR 宽动态 |
RTSP 地址
rtsp://192.168.1.168:554/live0
成功运行示例
# ./sample_venc 0 1 0 3 =============== show version: 2023-01-01 ============== [SAMPLE_VENC] SAMPLE_VENC_1080P [SAMPLE_VENC] insert mipi rx ... ... [SAMPLE_VENC] create rtsp server... [SAMPLE_VENC] rtsp://192.168.1.168:554/live0 [SAMPLE_VENC] start venc stream...
6. Ubuntu端拉流查看画面(含翻转)
安装 ffplay (如未安装)
sudoaptinstallffmpeg
拉流地址速查
| 测试程序 | RTSP 地址 | 编码 |
|---|
sample_venc | rtsp://<ip>:554/live0 | H264 + H265 |
sample_aiisp | rtsp://<ip>:554/live265 | H265 |
sample_svp_npu_main | rtsp://<ip>:554/live264 | H264 |
拉流查看(带画面翻转)
# YOLO / MOTR / HRNet(SVP测试)ffplay rtsp://192.168.1.168:554/live264-vf"vflip,hflip"# AI ISP 测试ffplay rtsp://192.168.1.168:554/live265-vf"vflip,hflip"# VENC 测试ffplay rtsp://192.168.1.168:554/live0-vf"vflip,hflip"
快捷键
保存为本地文件
# 录制30秒H264文件ffmpeg-irtsp://192.168.1.168:554/live264-t30-ccopy output.h264-vf"vflip,hflip"# 录制并转MP4ffmpeg-irtsp://192.168.1.168:554/live264-t30output.mp4-vf"vflip,hflip"
7. AI ISP 模式指南(sample_aiisp)
命令格式
cd/root&&./sample_aiisp<index><rtsp_enable><vo_intf_type><sensor0_type>
参数说明
| 参数 | 值 | 含义 |
|---|
| index | 0 | aibnr line mode(AI降噪基准模式) |
| rtsp_enable | 0 | 关闭 RTSP,本地录像 |
| rtsp_enable | 1 | 启用 RTSP 推流 |
| vo_intf_type | 0 | MIPI TX 输出(推流用这个) |
| vo_intf_type | 1 | BT1120 输出 |
| sensor0_type | 3 | OS04A10 WDR 宽动态 |
AI 降噪模型选择(已验证 ✅)
程序启动后会提示选择模型:
| 选项 | 模型 | 特点 | 实测效果 |
|---|
0 | denoise_priority | 去噪优先 | 画面偏柔,细节有损失 |
1 | denoise_priority_lite | 去噪轻量版 | 同上,速度更快 |
2⭐ | detail_priority | 细节优先 | ✅ 画面最锐利,推荐 |
3 | detail_priority_lite | 细节轻量版 | 同上,速度更快 |
💡实测经验:默认画面偏模糊 →选2 (detail_priority) 立竿见影
RTSP 地址
rtsp://<ip>:554/live265
8. SVP(NPU AI)测试(sample_svp_npu_main)
命令格式
cd/root&&./sample_svp_npu_main<index>[sub_idx]H X
| 参数 | 含义 |
|---|
index | 主索引:选择 AI 模型 |
[sub_idx] | 子索引(仅 index=8/9/b 时需要) |
H | 输出类型:0=MIPI_TX,1=BT1120 |
X | sensor 类型:3=OS04A10 WDR |
子索引说明
- index=8 或 9(YOLO):
sub_idx=[1-8]= YOLOv1 ~ YOLOv8 - index=b(MOTR):
sub_idx=[0]=摄像头输入, [1]=文件输入 - index=a(HRNet):不需要 sub_idx
全部测试项(已验证 ✅)
| # | 功能 | 命令 | 状态 |
|---|
| ① | YOLOv8 目标检测(摄像头输入) | ./sample_svp_npu_main 8 8 0 3 | ✅ 已验证 |
| ② | YOLO 目标检测(文件输入) | ./sample_svp_npu_main 9 8 0 3 | — |
| ③ | HRNet 人体关键点检测(实时) | ./sample_svp_npu_main a 0 3 | ✅ 已验证 |
| ④ | MOTR 多目标跟踪(摄像头输入) | ./sample_svp_npu_main b 0 0 3 | ✅ 已验证(Hi3519DV500 支持) |
| ⑤ | MOTR 多目标跟踪(文件输入) | ./sample_svp_npu_main b 1 0 3 | — |
index 编码模式全列表
| 值 | 模式 | 功能 |
|---|
0 | svp_acl_resnet50 | ResNet50 图像分类 |
1 | svp_acl_resnet50_multi_thread | ResNet50 多线程 |
2 | svp_acl_resnet50_dynamic_batch | ResNet50 动态批处理 |
3 | svp_acl_lstm | LSTM 时序模型 |
4 | svp_acl_rfcn | RFCN 目标检测(文件→VDEC→NPU→VO) |
5 | svp_acl_event | Event 事件测试 |
6 | svp_acl_aipp | AIPP 图像预处理 |
7 | svp_acl_preemption | 抢占测试 |
8⭐ | YOLO (摄像头) | [1-5]v1~v5 [7-8]v7~v8 |
9 | YOLO (文件) | 同上,从文件输入 |
a⭐ | HRNet | 人体关键点检测✅ |
b | MOTR | 多目标跟踪✅(Hi3519DV500 支持) |
sensor0_type 可选值
| 值 | 型号 | 说明 |
|---|
0 | OV_OS08A20_MIPI_8M_30FPS_12BIT | OS08A20 8MP |
2 | OS04A10 普通模式(4MP 30fps 12bit) | 通用模式 |
3⭐ | OS04A10 WDR 宽动态模式 | ✅ 当前使用,光线复杂场景推荐 |
5 | SC450AI_MIPI_4M_30FPS_10BIT | SC450AI |
9 | SONY_IMX347_SLAVE_MIPI_4M_30FPS_12BIT | 出厂默认 |
RTSP 地址
rtsp://<ip>:554/live264
9. 已验证成功的工作流程
🏆以下流程经实际测试验证通过
硬件:HongOU PI + OS04A10 (4MP MIPI WDR)
已通过的测试:sample_venc, sample_aiisp, sample_svp_npu_main (YOLOv8 / HRNet / MOTR)
9.1 快速上电启动流程
# 开发板端 (SSH 或串口)# ① 设置传感器时钟为 24MHz (OS04A10 必须)bspmm 0x11018440 0x4001# ② 加载驱动cd/komod&&./load3519dv500-a-sensor0os04a10-vo_intfmipitx# ③ 选择要跑的测试# AI ISP 推流(画面最锐利)cd/root&&./sample_aiisp0103# → 出现模型选择时输入 2 (detail_priority) 回车# 或者 YOLOv8 目标检测cd/root&&./sample_svp_npu_main8803# 或者 HRNet 人体关键点检测cd/root&&./sample_svp_npu_main a03# 或者 MOTR 多目标跟踪cd/root&&./sample_svp_npu_main b003
# Ubuntu 端拉流查看(带翻转)# AIISP → rtsp://192.168.1.168:554/live265ffplay rtsp://192.168.1.168:554/live265-vf"vflip,hflip"# SVP (YOLO/HRNet/MOTR) → rtsp://192.168.1.168:554/live264ffplay rtsp://192.168.1.168:554/live264-vf"vflip,hflip"# VENC → rtsp://192.168.1.168:554/live0ffplay rtsp://192.168.1.168:554/live0-vf"vflip,hflip"
9.2 开发板永久配置(已改好,无须再设)
以下已永久修改到/komod/load3519dv500中,掉电不丢:
| 配置项 | 当前值 | 说明 |
|---|
| SNS_TYPE0 | os04a10 | 主摄像头型号 |
| VO_INTF | mipitx | 视频输出接口 |
| BOARD | dmeb | 板型 |
| IR_AUTO | 1 | 红外自动切换 |
9.3 上电需重设的配置
| 配置 | 命令 | 说明 |
|---|
| 传感器时钟 | bspmm 0x11018440 0x4001 | 设为24MHz(OS04A10需要),掉电丢失 |
⚠️bspmm写入的是芯片内部寄存器,每次上电都会恢复默认值(0x8001=37.125MHz)。
建议将这条命令加到/root/init.sh实现开机自动设置。
10. 附录:参数速查表
寄存器地址速查
| 地址 | 功能 | 值说明 |
|---|
0x11018440 | 传感器时钟频率 | 0x4001=24MHz(OS04A10),0x8001=37.125MHz(IMX347) |
I2C 总线分配
| 总线号 | 设备 |
|---|
3 | 主摄像头 (P1口, SDA:GPIO12_0, SCL:GPIO12_1) |
| 其他 | 视底板设计而定 |
文件路径速查
| 路径 | 内容 |
|---|
/komod/ | 驱动模块(.ko)目录 |
/komod/load3519dv500 | 驱动加载脚本(已永久修改: sensor=os04a10, vo_intf=mipitx) |
/root/sample_venc | VENC 录像/RTSP推流测试 |
/root/sample_aiisp | AI ISP 图像处理测试 |
/root/sample_svp_npu_main | NPU推理(YOLOv8/HRNet/MOTR等) |
/root/readMe.txt | 开发板自带说明文档 |
/root/data/model/ | AI 模型文件(.om格式) |
常用 sensor 类型值
| 值 | 传感器型号 |
|---|
0 | OV_OS08A20_MIPI_8M_30FPS_12BIT |
2 | OV_OS04A10_MIPI_4M_30FPS_12BIT |
3 | OV_OS04A10_MIPI_4M_30FPS_12BIT_WDR2TO1⭐ |
4 | OV_OS04A10_SLAVE_MIPI_4M_30FPS_12BIT |
5 | SC450AI_MIPI_4M_30FPS_10BIT |
9 | SONY_IMX347_SLAVE_MIPI_4M_30FPS_12BIT (默认) |
RTSP 地址速查
| 测试程序 | 拉流地址 | 编码 |
|---|
sample_venc | rtsp://<ip>:554/live0 | H264 + H265 |
sample_aiisp | rtsp://<ip>:554/live265 | H265 |
sample_svp_npu_main | rtsp://<ip>:554/live264 | H264 |
Ubuntu 拉流
| 操作 | 命令 |
|---|
| 设置时钟 | bspmm 0x11018440 0x4001 |
| 加载驱动 | cd /komod && ./load3519dv500 -i -sensor0 os04a10 -vo_intf mipitx |
| 扫描I2C | i2cdetect -y -r 3 |
| VENC推流 | ./sample_venc 0 1 0 3 |
| AIISP推流 | ./sample_aiisp 0 1 0 3(选2细节优先) |
| YOLOv8 | ./sample_svp_npu_main 8 8 0 3 |
| HRNet | ./sample_svp_npu_main a 0 3 |
| MOTR | ./sample_svp_npu_main b 0 0 3 |
| Ubuntu拉流 | ffplay rtsp://<ip>:554/live264 -vf "vflip,hflip" |
11. 调试经验记录
踩坑记录
| 问题 | 原因 | 解决 |
|---|
i2cdetect -y -r 3全部-- | FPC排线没插好/方向反了 | 确认金手指朝向金属触针,翻盖锁紧 |
bspmm设完掉电丢失 | 写的是寄存器非文件 | 每次上电重设,或加到 init.sh 自动执行 |
sample_venc 0 1 2参数少了一个 | 第3个参数实际是 vo_intf_type | 应该用./sample_venc 0 1 0 3 |
| RTSP 地址用错 | sample_venc用live0,sample_aiisp用live265,sample_svp_npu_main用live264 | 不同程序RTSP地址不同 |
| H264 拉流解码报错 | Ubuntu ffmpeg 6.1.1 兼容问题 | 改用 H265 或忽略 |
| 画面模糊 | AI ISP 默认选了去噪优先 | sample_aiisp启动后选择2 (detail_priority) |
| 图像倒立 | OS04A10 传感器或模组安装方向问题 | Ubuntu 拉流加-vf "vflip,hflip" |
写传感器寄存器0x3820没解决倒立 | 该寄存器可能不是 OS04A10 的翻转控制 | 改用软件翻转 |
重要教训
- 给命令/参数前必须先查手册或在板上确认,不要凭经验猜测
- 不同 sample 程序的参数格式可能不同(如 VENC 是4个参数,AIISP 是4个,SVP 是3~4个,都不同)
- 不同 sample 程序的 RTSP 地址也不同
硬件注意事项
- FPC排线很脆弱,反插一次可能损伤铜箔
- 金手指方向:朝向座子的金属触针一侧
- 翻盖式座子需要压到底听到"咔"声才算锁紧
- 摄像头芯片应微微发热,冰凉说明没电
12. 全部成功命令记录
🕐 摄像头配置与基础拉流
# ① 设置传感器时钟 24MHzbspmm 0x11018440 0x4001# ② 加载驱动(已永久修改参数,直接用)cd/komod&&./load3519dv500-a-sensor0os04a10-vo_intfmipitx# ③ 检测摄像头i2cdetect-y-r3# → 检测到 0x36(OS04A10)和 0x21(其他外设)# ④ VENC RTSP推流cd/root&&./sample_venc0103# → 2688×1520 @30fps, H265# ⑤ 查看ffplay rtsp://192.168.1.168:554/live0
🕐 AI ISP 图像调优
# ⑥ AI ISP 推流(选2=detail_priority,画面最锐利)cd/root&&./sample_aiisp0103# → 弹出模型选择: 输入 2 回车# 查看ffplay rtsp://192.168.1.168:554/live265
🕐 SVP NPU AI 测试(三项全通)
# ⑦ YOLOv8 目标检测 ✅cd/root&&./sample_svp_npu_main8803# ⑧ HRNet 人体关键点检测 ✅cd/root&&./sample_svp_npu_main a03# ⑨ MOTR 多目标跟踪 ✅cd/root&&./sample_svp_npu_main b003# SVP统一拉流(带翻转)ffplay rtsp://192.168.1.168:554/live264-vf"vflip,hflip"
文档维护:2026-05-31
已验证:sample_venc / sample_aiisp / sample_svp_npu_main RTSP 推流,含 vflip+hflip 翻转
公众号回复「海思」获取更多资料。