This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM62A7:减少引导时间

Guru**** 2392905 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1498106/am62a7-reducing-booting-time

器件型号:AM62A7

工具/软件:

您好、AM62A Champ!


我的客户正在使用 AM62A 开发可穿戴器件、其工程要求是在3秒内启动并显示摄像头视频输出。

目前、使用默认映像大约需要花费一些时间 15秒 引导模式。 以便将其简化为 2–3秒 (直到 root 登录)、我们需要优化引导过程。

请提供一个 快速启动优化指南 实现这一目标?

以下是初始重建中的一个示例方法。  除了 TI 提供的指导之外、如果可能、还可以进一步阐明或具体说明以下各项会有所帮助。

AM62A 快速启动指南(可穿戴设备用例)

 目标

  • 伸展距离 摄像头在3秒内输出 保持高电平。

  • 当前:~15秒(使用默认图像)

  • 目标: 2–3秒后才能登录(或启动摄像机应用程序)

1.   启动时间细分

以下是引导阶段的粗略细分:

SAR ADC 当前时间 目标时间
ROM→SPL (R5) ~0.5秒 几乎不需要优化
SPL→U-Boot ~1.0秒 噪声会降低
U-Boot→内核 ~2.0秒 可优化
内核引导 ~8.0秒 主要目标
RootFS 初始化 ~4.0秒 需要改进
应用程序启动+摄像头 ~1–2秒 引脚应并行运行

2、优化策略总结

面积 优化目标
SPL/U-Boot 最小化器件树、消除引导延迟
内核 删除未使用的驱动程序/子系统、优化 initcalls
RootFS 使用最小初始化系统(Busybox)、请避免 systemd
Application" 与内核初始化并行启动、预加载启动画面/摄像机
维护

考虑挂起到 RAM 或快照引导(如果可行)

3、详细的优化步骤

 SPL/U-Boot

  • 设置CONFIG_BOOTDELAY=0为移除延迟

  • 禁用类似的功能、CONFIG_DISPLAY除非需要

  • 尽量减少器件树:仅保留摄像头、LCD、UART 等

  • 用于bootcmd直接自动启动内核、而无需交互

 内核优化

  • 尽量减少器件树叠加和不必要的节点

  • 应用 initramfs :在内存中加载 rootfs 以加快引导速度

  • 生成了 内置的摄像头和显示驱动程序 、而不是模块

  • 用于systemd-analyze识别瓶颈

 RootFS

  • 应用 BuildRoot Yocto 最小图像

  • 替换systemd为 Busyboxinit 或自定义 init 脚本

  • 自定义/etc/inittabrcS仅启动基本服务

  • 应用 squashfs tmpfs 对于 FAST、只读 rootfs

 应用程序优化

  • 直接在初始化脚本中启动相机应用(/etc/init.d/rcS)

  • 避免等待完整的摄像头探头—在应用程序中处理异步

  • 结合启动画面+预览、立即显示视觉效果

谢谢。

此致、Jack