SLAAE29A January 2023 – December 2025 MSPM0C1105 , MSPM0C1106 , MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G1518 , MSPM0G1519 , MSPM0G3105 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1 , MSPM0G3518 , MSPM0G3518-Q1 , MSPM0G3519 , MSPM0G3519-Q1 , MSPM0L1105 , MSPM0L1106 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
A: The Root-of-Trust includes immutable TI ROM boot-code and static write protected CSC region. They are immutable after correctly NONMAIN configuration. See CSC NONMAIN Configuration for details.
A: No. CSC only verifies the application firmware that has been placed in a certain flash address in advance but does not handle firmware update process (bootloader) and not care how the firmware is loaded to the flash.
A: See CSC Performance for details.
A: When bank swap is enabled, the logic low bank gets read-execute privileges and loses write/erase privileges. The other bank (logic high bank) is readable and writeable but not executable. When CCS or Uniflash try to download a firmware starts from address 0x0000, it will report erase error since logic low bank address is not erasable. You could update your firmware starting from high bank address, or just take a factory reset before load program.
A: The CSC example includes NONMAIN configurations to enable CSC. The NONMAIN configurations take effect during boot-code, and only a BOOTRST (or higher level) reset could make MSPM0 get back to ROM boot-code.
A: See Customize Changes on CSC Example for details.
A: The .txt/.bin/.hex format could be used for firmware updated. NONMAIN configuration should be programmed together with CSC and do not update NONMAIN region along with application firmware. See Step by Step Guidance for guidance.
A: Please check whether you have successfully set Python environment before building CSC sample image example. And make sure the CSC example is in the same workspace with CSC sample image example.
A: MSPM0 devices only provide symmetric secret key storage (KEYSTORE) for the AES engine. The asymmetric encryption/decryption algorithm key (such as ECDSA public key) is stored in a SECRET region. This SECRET region could only be accessed in privileged state (pre-INITDONE) and is read protected & write protected by firewall when running application.
A: In bank swap enabled configuration, an application program should always be built with a given logic low bank address. Take MSPM0G3519 as an example, the address range defined in linker file (.cmd in CCS) should be 0x00000~0x40000. But when updating the application firmware, the firmware needs to be loaded to the logic high bank address since the program is running in logic low bank and only the logic high bank has read-write access.
A: Currently SDK CSC example is using the signing tool imgtool provided by MCUBOOT to generate application image with e.g. header and signature information. Users could define their own image format, but they need to achieve the parsing program in CSC for their own defined image format.
A: Users could use AES-CMAC for symmetrical image verification in MSPM0 devices with AESADV supported, see Platform Security Enablers for details. Make sure the AES key stored in MCU has been aligned with the image vendor in advance by a secure way.