找回密码
 立即注册
搜索
热搜: 星闪 最新 活动
查看: 150|回复: 0

Hi3516CV610 的 KOL 模式

[复制链接]

5

主题

0

回帖

25

积分

新手上路

积分
25
发表于 2026-1-14 10:37:37 | 显示全部楼层 |阅读模式
Hi3516CV610 KOL 模式详细流程与核心优势
一、KOL 模式详细流程
1. 前置准备
1.1 环境依赖
编译环境:参考《Hi35xxVxxx 开发环境用户指南》配置,需下载 Linux 内核和 mtd-utils 源码
组件依赖:如需启用 AI 检测,需先安装 AiDetect 组件(参考 HiYueyingS610_AiComponent_readme.txt)
驱动支持:当前媒体 DPM 已适配 sysconfig、vi、isp、venc 等核心驱动,其他驱动后续逐步完善
1.2 硬件约束
Sensor 选型要求:支持 Standby 模式,休眠后寄存器值保持不变;帧消隐区≥33ms;休眠期间不依赖主控时钟;唤醒后可立即曝光并传输数据
板型支持:KOLB 板型支持 MCU 交互,可通过按键触发模式切换
2. 编译与构建流程
2.1 步骤 1:构建镜像(二选一,当前版本不支持下电方案)
不下电方案(推荐):以 DDR3 为例,执行命令构建镜像
bash
运行
sh smp/a7_linux/source/bsp/kol/build.sh sol_images
(DDR2 需修改 CHIP 参数为 Hi3516CV608 或指定 boot 表格)
下电方案(暂不支持,禁用相关接口):
bash
运行
sh smp/a7_linux/source/bsp/kol/build.sh kol_images
2.2 步骤 2:构建驱动与 Sample
bash
运行
pushd smp/a7_linux/source/out/obj
popd
make -j AIDETECT_ENABLE=y  # 不需要AI组件则改为AIDETECT_ENABLE=n
2.3 步骤 3:打包文件系统
将驱动、Sample 及模型文件打包到根文件系统,以不下电方案为例:
bash
运行
# 复制驱动和可执行文件
cp -rf smp/a7_linux/source/out/ko smp/a7_linux/source/bsp/pub/rootfs_debug_musl_arm/root
cp -rf smp/a7_linux/source/out/model/aidetect/det_hvf_hor.bin smp/a7_linux/source/bsp/pub/rootfs_debug_musl_arm/root
cp -rf smp/a7_linux/source/mpp/sample/kol/sample_kol smp/a7_linux/source/bsp/pub/rootfs_debug_musl_arm/root

# 修改镜像配置并制作文件系统
sed -i "s/rootfs_hi3516cv610_64k.jffs2/rootfs_hi3516cv610_64k_kol.jffs2/" smp/a7_linux/source/bsp/pub/sol_images/nor_burn_table.xml
pushd smp/a7_linux/source/bsp/pub/bin/pc
fakeroot ./mkfs.jffs2 -d ../../rootfs_debug_musl_arm -l -e 0x10000 -o ../../sol_images/rootfs_hi3516cv610_64k_kol.jffs2
popd
2.4 步骤 4:烧写镜像
参考《BurnTool 工具使用指南》,将构建好的镜像烧写到目标板(如 NOR Flash)
3. 运行与配置流程
3.1 步骤 1:加载驱动
bash
运行
cd ~/ko/load3516cv610
chmod +x load3516cv610_00s_debug
./load3516cv610_00s_debug -i -sensor0 os04d10 -sensor1 os04d10  # 双路sensor配置
3.2 步骤 2:运行 Sample 程序
bash
运行
cd ~
chmod +x sample_kol
# 示例:单路、自动模式、浅休眠、休眠1000ms、启用AI检测(route_0)、打印状态
./sample_kol -n 1 -k 0 -s 1 -t 1000 -r 1 -p
核心参数说明:
-n:录制路数(1/2,默认 1)
-k:KOL 模式(0 = 自动模式,1 = 录制模式,2=KOL 模式,默认 0)
-s:休眠模式(0 = 无操作,1 = 浅休眠,2 = 深休眠,3 = 用户自定义,4 = 挂起,默认 1)
-t:休眠时间(100~5000ms,默认 1000ms)
-c:启用 MCU 交互(KOLB 板型),支持按键切换模式
3.3 步骤 3:核心初始化流程
媒体通路初始化:设置 AE 统计模式、使能 BE end 功能、开启 VI Pipe 低延迟
算法模型初始化:创建算法通道、加载模型、分配结果存储空间
状态机资源初始化:创建 KOL(低功耗)、收敛、录制子线程,调度ss_mpi_isp_get_vd_time_out接口获取收敛状态
3.4 步骤 4:状态机流转流程
plaintext
上电 → 冷启动/热启动 → 初始化流程 → 进入KOL待机状态
→ 唤醒触发(外部MCU/按键)→ 快速收敛模式(Fast AE)→ 单帧录制/持续录制
→ 录制完成 → 回到KOL待机状态(循环)
热启动场景:从 STR 挂起状态恢复,直接回到挂起前的运行位置,无需重新初始化
4. 定制化修改流程
4.1 基础配置修改
单 / 双路切换:修改kol/media/media.c中g_route_num(1 = 单路,2 = 双路)
输出路径修改:修改kol/media/media_venc.c中SD_CARD_PATH(默认/home/sd/)
缓存大小调整:修改kol/media/media_venc.c中g_srteam_buffer_size(默认 1MB)
4.2 高级功能适配
外设交互:适配kol/peripheral/peripheral.c中peripheral_mode_flag1(获取 MCU 唤醒状态)和peripheral_set_uart_mode(通知 MCU 切换模式)
SmartAE 功能:修改kol/algorithm/src/algorithm.c中smart_ae_set_smart_exposure_attr函数,适配目标区域亮度统计
智能编码:修改kol/algorithm/src/algorithm.c中algorithm_svc_set_rect函数,适配智能检测框信息
5. 快速收敛 AE 适配流程
5.1 步骤 1:确定曝光参数 delay 帧数
固定环境亮度,设置初始曝光量 A,获取画面亮度 L1
切换曝光量 B,逐帧获取亮度 L2,观察生效帧数
配置sns_delay_frame(生效帧数 - 1,如第 5 帧生效则配置为 4)
5.2 步骤 2:启用 Fast AE 模式
通过isp_exp_info.first_stable_time判断是否需要快速收敛(值为 0 表示亮度剧变)
调用pfn_set_fast_ae接口使能 Fast AE:
c
运行
sns_obj->pfn_set_fast_ae(route_info->vi_pipe, TD_TRUE);
收敛完成后,通过isp_exp_info.first_stable_time获取收敛耗时(单位 us)
三、KOL 模式核心优势
1. 极致低功耗,延长设备续航
多休眠模式适配:浅休眠(CPU 低速运行)、深休眠(关闭非必要时钟、Sensor Standby)、用户自定义模式,按需平衡功耗与性能
精准功耗控制:休眠期间禁用 USB、网络、SDIO 等高速外设,仅保留核心模块最低功耗运行
热启动快速恢复:STR 模式从内存恢复,无需重新加载镜像,唤醒耗时大幅降低
2. 在线录制连续性,保障数据完整性
待机唤醒无感知:唤醒后自动触发单帧 / 持续录制,无需人工干预
帧数据不丢失:录制文件满 1MB 触发写入,避免频繁 IO 操作导致的数据丢失
支持双路并发:兼容单 / 双路 Sensor 配置,满足多场景录制需求
3. 快速收敛 AE,提升环境适应性
曝光收敛效率提升:Fast AE 算法通过动态调整曝光参数 delay 帧数,缩短亮度剧变后的收敛时间
自适应阈值配置:支持用户自定义亮度阈值,避免频繁触发收敛,平衡效果与稳定性
4. 高度灵活扩展,适配多场景需求
定制化配置丰富:支持输出路径、缓存大小、休眠模式、交互方式等多维度修改
硬件兼容性强:适配主流 Sensor(如 os04d10),支持 Standby 模式的 Sensor 均可接入
AI 功能可选配:支持 AiDetect 组件联动,实现智能检测与低功耗录制协同
5. 稳定可靠,降低开发复杂度
驱动成熟适配:已验证 sysconfig、vi、isp 等核心媒体驱动,减少驱动开发工作量
完善的故障处理:提供 FAQ 与错误码参考,支持 reboot 命令冷启动校准、DDR 参数灵活配置
标准化 API 接口:提供ss_mpi_syskol_set_param(参数设置)、ss_mpi_syskol_sleep(休眠)等 6 个核心 API,调用简单直观
四、注意事项
当前版本不支持下电方案,ss_mpi_syskol_suspend接口暂不可用
深休眠模式(OT_SYSKOL_SLEEP_MODE_DEEP)下,禁止访问 USB、网络、SDIO 等外设,SD 卡不可插拔
Sensor 必须满足低功耗约束(帧消隐区≥33ms、休眠不依赖主控时钟等),否则会导致功能异常
启用 Fast AE 时,阈值需合理设置(建议偏大),避免反复触发收敛
烧写镜像前需确认 DDR 参数保存地址一致(U-Boot 环境变量与 GSL 宏定义)
五、总结
Hi3516CV610 的 KOL 模式通过 “低功耗休眠 - 快速唤醒 - 精准录制” 的闭环设计,在保障在线录制连续性的同时,最大化降低设备功耗,适用于安防监控、物联网终端等对续航和数据完整性要求较高的场景。其标准化的编译构建流程、丰富的定制化选项和成熟的 API 接口,可大幅降低开发门槛,提升项目落地效率。结合快速收敛 AE 算法与灵活的休眠模式配置,KOL 模式能够高效适配复杂多变的应用环境,为硬件产品提供稳定、可靠的低功耗在线录制解决方案。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|【淇诺科技】技术论坛 ( 粤ICP备14010465号-1|粤ICP备14010465号-1 )

GMT+8, 2026-4-2 22:18 , Processed in 0.125350 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表