SDAA472 August 2026 MSPM33C321A
The BCR supports checking the data integrity of a user-specified address range in the MAIN flash memory before transferring execution from the BCR (in ROM) to the user application (in MAIN flash memory). Please refer to MSPM33 NONMAIN Flash Memory Configuration Guide for the configuration.
The integrity check can be used as an additional step to verify that the code which runs first after the boot ROM (usually the secure boot image manager) has a CRC/SHA256 digest that matches the expected value. This integrity check reduces the likelihood that any unexpected corruption of critical code in the flash memory (which can be responsible for authenticating the remaining user application software image) can create a security vulnerability.
A start address, length, and ISO-3309 CRC-32 or SHA2-256 digest can be provisioned into the NONMAIN configuration memory. During the boot process, the BCR computes the CRC-32 digest of the specified range in the MAIN flash memory, and verify the computed digest against the provisioned (expected) digest. If the values match, the user application is started. If the values do not match, the user application is not started and the result is a catastrophic boot error.