Ultra-Fast Boot Overview

Last modified by Microchip on 2026/08/17 13:19

Boot Sequence Components

The boot process starts with the microprocessor's (MPU's) Power-On Reset (POR) and proceeds through multiple stages, loading and reading binary files from external Non-Volatile Memory (NVM) into volatile memory, including internal Static Random-Access Memory (SRAM) and external Dynamic Random-Access Memory (DRAM).

  • Read-Only Memory (ROM) code (First-stage bootloader)
  • at91bootstrap (second-level bootloader)
  • The Universal Boot Loader (U-Boot)
  • Loading Kernel and Rootfs

Boot Sequence Components

The ROM code, also known as Boot ROM, is stored in on-chip mask ROM and runs automatically after power-on or reset. It is responsible for loading the user application or a second-stage bootloader from an external NVM into internal SRAM.

at91bootstrap is the second-level bootloader for MPU Systems-on-Chip (SoCs). It provides a set of algorithms to manage hardware initialization, such as clock speed configuration, Parallel Input/Output (PIO) settings and DRAM initialization, to download your main application from the selected boot media into system memory and start execution.

U-Boot is used in the Linux® demo as a third-stage bootloader. It is responsible for configuring main interfaces and booting a Linux system. However, it is possible to avoid this step and to directly boot Linux from at91bootstrap in a production phase.

Embedded Linux is a popular choice for MPU development. It is more than just an operating system; it is a large collection of software libraries, device drivers, networking stacks, software applications and tools to choose from. Many developers are contributing to its open-source model, and a large online community provides tutorials and answers questions in forums to aid the developer.

Ultra-Fast Boot

Microchip's Ultra-Fast Boot solution for embedded Linux brings embedded Linux to life in under five seconds (best case is two seconds). By restoring a pre-saved Linux snapshot directly from flash, it enables true cold starts with a faster, smoother user experience. 

at91bootstrap and Snapshot image

Boot Time

Boot time is a key feature in embedded systems, especially for developers coming from the MCU world.

A standard, non-optimized Linux application can take more than 22 seconds to boot.

22 seconds

With Ultra-Fast Boot support, the system can achieve a cold-start boot time of less than two seconds.

less than 2 seconds

Back to Top