丨budboool · 2023年11月27日 · 广东

4.3秒!基于全志T113平台的快速启动方案分享

哪些应用场景需要快速启动

很多应用场景对系统启动时间都有严苛的要求,例如在工业组态屏、工业HMI、机器人示教器、工业PLC、物联网网关、通讯管理机等应用场景对系统启动的时间都会有所要求。

当系统启动时间过长时,用户需要很长时间才能开始使用系统,不仅会对产品的精准度和实时性有所影响,而且过长时间的启动也会导致系统资源浪费,例如电力和硬件资源。而优化启动时间可节省这些资源,从而提高系统的效率和可靠性。另外,在某些嵌入式系统和设备中,启动时间对于系统的稳定性和可靠性至关重要,因此尽可能缩短启动时间,以确保系统能够在最短的时间内启动至关重要。

在这里插入图片描述

T113-i 系统快速启动实测数据

为了满足客户需求,我司对T113-i原生系统进行剪裁,得到一个可快速启动的程序镜像。经测试,eMMC配置核心板从上电至进入文件系统的时间为4.3秒,从上电至显示Qt界面的时间为7.7秒。详细数据请参考如下表格:
在这里插入图片描述

T113-i系统快速启动优化方法

本节内容对T113-i(其他嵌入式平台亦可参考)Linux系统快速启动优化方法进行说明,主要通过对U-Boot、内核以及rcS启动脚本的修改,实现系统快速启动。下面以NAND FLASH配置TLT113-EVM评估板为例进行方法示例,TLT113-MiniEVM或eMMC配置评估板注意修改的文件路径有所不同。

(1) U-Boot快速启动优化。

修改延时bootdelay为0秒,可缩减bootdelay延时。在LinuxSDK解压目录T113-i_v1.0下修改如下文件:

"device/config/chips/t113_i/configs/tlt113-evm-nand/longan/env.cfg".

在这里插入图片描述

关闭boot0和U-Boot调试信息打印,启动时间可缩短约1秒。在LinuxSDK解压目录T113-i_v1.0下修改如下文件:

"device/config/chips/t113_i/configs/tlt113-evm-nand/uboot-board.dts"

"device/config/chips/t113_i/configs/tlt113-evm-nand/sys_config.fex"

在这里插入图片描述

在这里插入图片描述

(2) 内核快速启动优化。

由于random设备初始化太慢,应用程序调用random的函数时可能被阻塞,导致应用启动慢,因此可通过关闭crng_ready()功能从而缩短启动时间,关闭crng_ready()功能后启动时间可缩短2~3秒。在LinuxSDK解压目录T113-i_v1.0下修改如下文件:

"kernel/linux-5.4/drivers/char/random.c"

在这里插入图片描述

通过修改串口打印优先级,关闭串口内核启动信息打印从而缩短启动时间。在LinuxSDK解压目录T113-i_v1.0下修改如下文件:

"device/config/chips/t113_i/configs/tlt113-evm-nand/longan/env.cfg"

在这里插入图片描述

(3) 文件系统快速启动优化。

通过取消相关服务启动以及自动挂载功能,优先执行Qt程序,并且延时一段时间再执行其他功能。启动时间可缩短约10秒。在LinuxSDK解压目录T113-i_v1.0下修改如下文件:

"platform/framework/auto/rootfs/etc/init.d/rcS"

在这里插入图片描述

如需关闭Qt Launcher,优化上电启动至进入文件系统的时间,需修改rcS脚本。修改内容如下:

在这里插入图片描述

推荐阅读
关注数
17
文章数
98
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息