RV1126/RV1109快速启动介绍

.      RV1126/RV1109快速启动介绍

  • RV1126/RV1109快速启动

系统做了优化,裁减了uboot,使用SPL作为引导加载,内核、文件系统的方式。 内核和文件系统,使用fit格式进行打包,在系统启动时,内部的硬件decom能够快速解压,并启动系统。

二.快速启动

       V1126/RV1109系列芯片内置硬件解压缩模块 -- decom,可以极大得提升系统启动速度。另外, RV1126/RV1109内置一个MCU,MCU在SoC上电后就会快速启动,迅速初始化Camera和ISP,然后尽可 能快得把前几帧图像保存下来。本章主要介绍了RV1126/RV1109快速启动的优化方法和注意事项。

快速启动目前支持如下存储介质:

eMMC

SPI Nor Flash

不同存储介质对内核和rootfs镜像的读取速度不一样,下面是不同存储介质典型的读取速度,因此我们不 推荐使用SPI Nand Flash作为快速启动的存储介质:

三.基本流程

       核心启动流程,如下图示:

SPL作为加载boot,加载了mcu,kernel,rootfs等,mcu对camera做初始化,并抓拍图片送入isp,待系统启动后取较早时间的图像。

内核快速启动,需要设置等功能配置,且为了使用内核的多核优势,需要设置相同level的initcall,功能需要 CONFIG_INITCALL_ASYNC=y ,在 arch/arm/configs/rv1126-tb.config 中已经默认开 启。 内核参数 initcall_nr_threads 控制并行的线程。 initcall_nr_threads < 0 表示使用算法默认线 程数; initcall_nr_threads == 0 表示关闭此功能; initcall_nr_threads > 0 ,表示使用指定的 线程数。 内核默认的 initcall_debug 这个 bool 参数控制是否打印 initcall 的调试信息。具体参考 Documentation/admin-guide/kernel-parameters.txt 。 通过这两个参数,可以观察 initcall 的调用顺序、耗时等信息。默认提供的 dts 中,这两个参数设置为 initcall_nr_threads=-1 initcall_debug=0 ,即使用算法默认线程数,关闭调试信息打印。

Rootfs精简,需要精简大小,否则会影响速度。文件系统类型我们选择ramdisk文件系统,且尽量裁剪,这样大概能做到40MB左右。

四.mcu协助

MCU基于RT-THREAD系统,实现Camera快速抓拍功能。设备上电后,MCU会立即对Camera进行采集前几帧的数据进DDR中。设备系统启动完成后,可由应用主 动送该数据到ISP+ISPP进行处理。ISP/ISPP从DDR读取RKRAW数据进行处理的机制,我们称之为离线帧处理。

设备上电后,MCU会立即对Camera进行采集10帧的RAW数据进DDR中。设备系统启动完成后,可以由 应用从DDR中读取之前保存的RAW图像送给ISP、ISPP进行处理并输出YUV图像。

五.效果

如果使用的非sensor,接入的是虚拟通道复用的mipi芯片,实现多路采集方式,实测启动速度比使用sensor方式的慢很多,大概看到图像在3秒左右。还有外接的一般摄像头,供电启动速度慢也会影响最终结果。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硅谷魔术师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值