Overview

i.MX RT BootROM

The i.MX RT BootROM is a standard bootloader for all i.MX RT devices. It resides in ROM and supports booting from external flash devices for both XIP and non-XIP boot cases. It also provides serial downloader feature via UART or USB-HID interface into the internal RAM of i.MX RT devices.

The i.MX RT BootROM is a specific implementation of the existing i.MX MPU ROM bootloader. The i.MX RT BootROM provides serial downloader feature for flash programming using blHost command interface. For additional information, see chapter, “System Boot” in the device’s Reference Manual. Using the MfgTool application, the MCU Boot based flashloader can be downloaded into the internal SRAM. Then the flashloader code execution begins and flash programming features are enabled via MCU Boot interface.

MCUBOOT-based Flashloader

The MCUBOOT-based Flashloader is a specific implementation of the MCU bootloader. It is used as a one-time programming aid for manufacturing. Most of the MCUBOOT commands are supported in the flashloader to enable external flash programming. See MCU Flashloader Reference Manual for details.

Host utilities

The MfgTool is a GUI host program used to interface with devices running i.MX RT Boot ROM under serial downloader mode. It can also be used to program an application image by interfacing with the Flashloader.

The blhost is a command-line host program used to interface with devices running MCUBOOT-based bootloaders. It is part of MfgTool release.

The elftosb utility is a command-line host program used to generate bootable images for i.MX RT Boot ROM.

The cst is a command-line host program used to generate certificates, image signatures, and encrypt images for i.MX RT Boot ROM.

Terminology

The below table summarizes the terms and abbreviations included in this document.

Terminology and Abbreviations

Terminology

Description

MCUBOOT

MCU Bootloader

KeyBlob

KeyBlob is a data structure that wraps the DEK for image decryption using the AES-CCM algorithm

DEK

“Key” used to decrypt the encrypted bootable image

SB file

The SB file is the NXP binary file format for bootable images.

The file consists of sections, sequence of bootloader commands, and data that assists MCU Bootloader in programming the image to target memory.

The image data can also be encrypted in the SB file.

The file can be downloaded to the target using the MCU Bootloader receive-sb-file command.

CST

Code Signing Tool

XIP

Execute-In-Place