SPRUJF2A March 2026 – March 2026 AM13E23019
If the user wants to add additional features or functionality to the immutable secure boot on AM13E230x devices, then a Customer Secure Code (CSC) (also referred to as the secondary bootloader) can be implemented in the MAIN flash of the device. The ROM provides the following features to support the CSC:
When the CSC issues INITDONE (by writing to SYSCTL.SECCFG.INITDONE MMR) then SYSCTL issues the second SYSRST (as outlined in Section 7.6). The device again starts execution from 0x0 mapped to flash, and the CSC executes a second time. After the second CSC execution, the CSC will find that INITDONE has already been issued previously (from after the first CSC execution), determined by reading the SYSCTL.SECCFG.SECSTATUS.INITDONE bit. The main application is then called.
The customer owned secure code can leverage the Global Security Controller (GSC) to implement additional security capabilities such as:
The CSC specifies which bank holds the more recent authenticated application image. If that bank is physical bank 0 (same bank as where CSC is executing from), then bank 1 is read-write only and does not have execute privilege. If the correct application image is determined to be on physical bank 1, then the CSC must issue a bank-swap request.
The CSC indicates the end of CSC execution by writing to the SYSCTL.SECCFG.INITDONE register with a PASS value (0x1) along with a KEY value of 0x9d. Successfully writing to the INITDONE register results in a second SYSRST operation during which the bank-swap takes effect.