The purpose of the application
execution boot flow is to run only trusted vendor application code on the device
main processor (with or without M33 debug capability). The CC35xx device executes
the boot sequence for vendor trusted application execution in multiple stages
through a Chain of Trust.
A detailed description of the flow is as follows:
- This is the default flow that runs upon any power on reset.
- BL1 loads, authenticates and invokes BL2 into the co-processor either from the
flash or if requested over the debug I/F for supporting more advanced debug
capabilities.
- BL2 performs the following actions:
- Authenticates the vendor’s code, namely BL3.x which runs from flash (XIP
mode).
- Enforces the initial system state configurations based on the vendor’s
settings and configurations delivered as part of its image.
- If an signed debug request was issued through the debug interface – BL2
authenticates it and enforces requested debug settings.
- BL3.x is the trusted vendor’s code entry point based on the vendor credentials.
Vendor code can be for example:
- Custom bare metal M33 based application (non-TFM based).
- SPE-TFM/NSPE partitioning
- Additional vendor bootloader (a future extension that TI bootloader will
provide)
Note: An uploaded application version needs to pass both
authentication and version rollback checks.