低功耗ipc摄像头的特点:功耗低和启动速度快。今天主要介绍如何做到快速启动。启动快主要体现在快速拿到稳定可用的图像。
启动主要分三个阶段,boot kernel rootfs。
boot阶段,加载数据和sensor初始化并行处理。提高并行度,加快flash频率加快加载速度。sensor在boot阶段提前复位,初始化相关配置出流
kernel阶段,招式一: 去除内核打印,每条打印可能都有几ms的耗时,招式二: 裁剪内核,将不必要的驱动裁剪掉,将debug的堆栈信息裁剪,或者将不是启动必要的驱动编成ko,系统起来后再加载。kernel镜像的大小也会影响boot阶段的耗时。招式三: 快速出图必要的驱动要编译进内核,并且要提高驱动注册的优先级。
rootfs阶段,文件系统一般都是内核起来后再挂载,这样程序启动的时间就会推后,导致用户取流的时间变慢,如何解决这一痛点,招式一: 文件系统采用ramfs的方式,在和内核起来后挂载上相应的节点,此时rcs启动脚本即可执行相应的程序。招式二: 同时程序执行的过程是先copy再执行,从flash拷贝程序远远没有从内存上拷贝数据快。ramfs的方式以内存空间换时间。招式三: 文件系统不要太大,影响加载时间,将不是快速出图必要文件或者库放在其他分区,后面需要再加载。
以上就是IPC快速启动的一些经验。