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: Reducing Booting Time

Part Number: AM62A7


Tool/software:

Hi AM62A Champ!


My customer is developing a wearable device using the AM62A, and their project requirement is to boot up and display camera video output within 3 seconds.

Currently, using the default image, it takes about 15 seconds to boot. In order to reduce this to 2–3 seconds (up to the root login), we need to optimize the booting process.

Could you please provide a fast boot optimization guide for achieving this?

The following is an example approach from their initial rearch. In addition to the guidance provided by TI, it would be helpful if the following items could also be further clarified or specified, if possible.

Fast Booting Guide for AM62A (Wearable Device Use Case)

Dart Goal

  • Reach camera output within 3 seconds after power-on.

  • Currently: ~15 seconds (using default image)

  • Target: 2–3 seconds to root login (or camera app start)

1. White check mark Boot Time Breakdown

Here’s a rough breakdown of boot stages:

Stage Current Time Target Time
ROM → SPL (R5) ~0.5 sec Little to optimize
SPL → U-Boot ~1.0 sec Can reduce
U-Boot → Kernel ~2.0 sec Optimizable
Kernel Boot ~8.0 sec Main target
RootFS Init ~4.0 sec Needs work
App Launch + Camera ~1–2 sec Should run in parallel

2. Summary of Optimization Strategies

Area Optimization Goal
SPL/U-Boot Minimize device tree, remove boot delays
Kernel Remove unused drivers/subsystems, optimize initcalls
RootFS Use minimal init system (BusyBox), avoid systemd
Application Launch in parallel with kernel init, preload splash/camera
Overall

Consider Suspend-to-RAM or Snapshot Boot (if feasible)

3. Detailed Optimization Steps

Small blue diamond SPL / U-Boot

  • Set CONFIG_BOOTDELAY=0 to remove delay

  • Disable features like CONFIG_DISPLAY, unless needed

  • Minimize Device Tree: keep only camera, LCD, UART, etc.

  • Use bootcmd to auto boot kernel directly without interaction

Small blue diamond Kernel Optimization

  • Minimize Device Tree overlays and unnecessary nodes

  • Use initramfs: load rootfs in memory for faster boot

  • Build camera and display drivers as built-in, not modules

  • Use systemd-analyze to identify bottlenecks

Small blue diamond RootFS

  • Use Buildroot or Yocto minimal image

  • Replace systemd with BusyBox init or custom init script

  • Customize /etc/inittab, rcS to start only essential services

  • Use squashfs or tmpfs for fast, read-only rootfs

Small blue diamond Application Optimization

  • Launch camera app directly in init script (/etc/init.d/rcS)

  • Avoid waiting for full camera probe—handle async in app

  • Combine splash + preview to show visuals immediately

Thanks.

Best Regards, Jack