SWCU195A December 2024 – May 2025 CC2744R7-Q1 , CC2745P10-Q1 , CC2745R10-Q1 , CC2745R7-Q1 , CC2755R10
There are two methods of programming the HSM FW to a device. Please see the SDK's user's guide and or release notes for simple instructions for getting started
Provisioning through the SACI command
This method is intended to be used in sequence with the application programming on all devices in a manufacturing line.
Trigger the provisioning of the HSM FW and transfer the entire HSM FW to the device
The device will go through a series of verification steps and shortly respond with a status code based on the result
Over the Air (OTA) Update
This method is nearly identical to how a secure boot update takes place.
Assuming a new HSM FW version update is received via some future SDK release. The customer may choose to transfer this binary file OTA to the devices in the field.
Since the maximum size of HSM FW is 96KB, your device's memory map must allow a 96KB region of main flash to be used for staging of the HSM FW update.
Once the new HSM FW has been staged in the main flash the application must utilize the Section 11.3 by:
Calling HapiSbSetUpdateImageAddress(sector_addr) to specify the sector address in which the new HSM FW has been staged (must be sector aligned)
Calling HapiSbSetId(id) to specify the request ID for ROM. Using a value of 0x01 to specify ROM to perform an HSM FW Update on the HSM FW that's been staged at the already specified Update Image Address
Reset the device via the HapiResetDevice() function so that the device can reset into ROM, such that ROM can process the update
The result of the HSM FW update will be stored in the ROM API Status field. This can be retrieved by your application via the HapiSbGetStatus() function, and if the HSM FW update has completed successfully, you can expect to see a value of 0x01 (UPDATE_SUCCESS).
| Value | ||
|---|---|---|
| Parameters 'id' and 'sector_addr' are stored in registers that do not persist across a power cycle. Therefore, if power is lost during an HSM FW Update operation, there is a risk that the device will not be able to boot the next stage (App / SSB). |