The purpose of the reprogramming flow
is to update vendor images during development which is expected to be the most
common operation the vendor will perform while developing its application.
The CC35xx device executes the boot
sequence for reprogramming in multiple stages through the full Chain of Trust.
- Flow execution upon special reset triggered through the debug I/F.
- BL1 loads, authenticates and invokes BL2 into the co-processor from the debug
I/F.
- BL2 identifies that the device was activated already
- BL2 Identifies the request as a signed programming request
- BL2 authenticates the signed programming request (unique per device) using the
public key whose hash matches the one installed during the one-time activation.
- Once authenticated, BL2 performs the programming instructions for configuring
the external flash for programming of the updated vendor image based on the
vendor programming instructions provided over the debug I/F.
- Then BL2 programs to the flash the updated and newly signed vendor image the
vendor issues over the debug I/F (to replace the already programmed vendor
image).
- BL2 issues a report to indicate success or failure of the process
After successful reprogramming, the device will be able to successfully run the
updated vendor image in a trusted manner.