SPRUIM2H May 2020 – October 2023 AM2431 , AM2432 , AM2434 , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442
The R5 boot process flow is shown in Figure 4-3.
The values of BOOTMODE[15:0] pins are latched into the Device Status register CTRLMMR_MAIN_DEVSTAT[15:0] by hardware as the device comes out of global cold reset, sampled after MCU_PORz deassertion. For more information how to set BOOTMODE pins, see Section 4.3, Boot Mode Pins.
The DMSC is the boot controller for the Public ROM. DMSC performs the necessary configurations and releases R5's reset for CPU0.
The R5 checks the boot mode pins and then configures the apropriate peripheral interface to get access to a boot image. A cursory check of the image is made, and the image is passed to DMSC. DMSC ROM then will perform code verification and route the boot image to the on-chip RAM. Once the image has been received, R5 enters a clean state and idles. DMSC ROM code will assert reset to the MCU, redirect the boot vector to the newly loaded image, and release the reset. This restarts the R5 with the Public ROM code fully disconnected.
The Public ROM code executes after a cold or warm reset.
DMSC ROM sets up a 3-minute watchdog timer (MCU_RTI0) timeout. During this time, the MCU boot needs to get completed, otherwise a WDT reset will occur. Once the R5 image is loaded (SBL/SPL), DMSC ROM will restart the watchdog timer for additional 3 minutes upon entering the R5 SBL. The customer-provided MCU image needs to load and install the TI-provided SYSFW image into the DMSC, which will manage the watchdog timer during run time.
The following system conditions must be met at POR to perform device boot:
Figure 4-4 describes the external bootloader (SBL) typical tasks.
Upon R5 reset and SBL execution start, DMSC ROM restarts the RTI watchdog timer for additional 180 seconds of timeout. During that time, SBL must load the DMSC firmware provided by TI otherwise a MCU reset will occur as a preventive measure against software misbehavior.
One of the SBL's main tasks is to load the DMSC firmware. Only after this task is performed, SBL can load the other processors' image and request a reset release from DMSC firmware for those cores.