Spansion® is a registered trademark of Spansion LLC.
Macronix® is a registered trademark of Macronix International Co., Ltd.
All trademarks are the property of their respective owners.
This document details how to utilize the ROM Bootloader(RBL) in a variety of different use-cases and resolve issues that may arise from using the RBL in these scenarios. In addition, due to the rigidity of the RBL (as it is programmed into the device ROM), this document also introduces the secondary bootloader(SBL), which provides greater flexibility in what can be loaded onto the device (primary and secondary image or multiple unique user applications) and how it can be loaded (via any serial streaming interface). Lastly this document covers reset behavior, with a focus on warm reset behavior on the xWRLx432 and considerations to be made in user application design and hardware design.
This document provides a better understanding of how the application software interacts with the RBL/SBL and how it can leverage the RBL and SBL for varying levels of host-control during booting and reset procedures. Complete implementation details on the RBL and the SBL can be found in the xWRLx432 TRM.
Above is an overview of the initialization process and is detailed below:
Once the device is in functional mode, the RBL ensures that the application image is properly transferred over to RAM and hands control of the device to the user application. If this flow is interrupted by any common failure, the device goes into a safe state and will not boot the user application.
This section primarily focuses on the bootloader flow in functional mode. Figure 2-1 shows the bootloader flow from the start of RBL execution in functional mode.
The xWRLx432 device from TI can be configured to operate as an autonomous radar sensor. In this configuration, the user application and TI firmware patches are hosted in an SDF interfaced to the xWRLx432 over the QSPI port.
SDF programming supports downloading meta images that are a combination of the following components:
The flash programmer connects to the device over UART-B. Specifics are as follows:
Commands ‘Write File to SFLASH’ and ‘Write File to SRAM’ support a maximum data chunk size of 240 bytes only.
The file is split into N commands where
N = (file size/240) + ((file size%240) ? 1 : 0)