SWCU195A December 2024 ā May 2025 CC2744R7-Q1 , CC2745P10-Q1 , CC2745R10-Q1 , CC2745R7-Q1 , CC2755R10
The SCFG flash sector contains security-related metainformation about or for the application:
HSM FW Update Configuration
The HSM FW update process can optionally include verification of a customer-based key.
This allows the device to require any given HSM FW update to be signed by the customer prior to the device accepting the update.
Secure Debug Authorization Configuration
Extended debug configuration when ccfg.debugCfg.authorization is configured to require authorization.
Three debug authorization levels are supported (Secure, Non-Secure, Non-Invasive Only)
By configuring and authorizing debug access with the Secure key, you will have access to all three authorization levels.
By configuring and authorizing debug access with the Non-Secure, you will only have access to the bottom two authorization levels.
Configuration of the Challenge Vector can allow a tradeoff between debug authorization complexity and security.
Secure Boot Configuration
Secure Boot flash layout
Define the primary and secondary application slots so that Secure Boot knows how to properly verify and update the images within those slots.
Define the SSB slot so that Secure Boot knows how to properly verify and update the image.
Secure Boot Policy
Enable secure boot and specify the authentication method to be used.
Device Permissions
A similar set of device permissions as compared to the FCFG and SCFG sectors
Key Ring Configuration
Secure Boot allows to provision some keys and update those keys in the field at a later time.
For regular software application development, the TI-supported SysConfig tool is used to create the contents of the SCFG.
This section covers only the main parts of the SCFG. For a detailed view of the SCFG structure, please refer to the hw_scfg.h file provided by the driverlib part of the SimpleLink⢠Low Power F3 Software Development Kit (SDK) or the SysConfig tool.
The C header file, hw_scfg.h, provides a struct defining the complete SCFG layout.
The SCFG is split into sections, each having multiple fields. The table below presents a high level view of SCFG sections. Most sections contain multiple fields. Only a subset of the fields are listed.
SCFG hierarchy/field | Description | ||
|---|---|---|---|
.hsmCfg | Configures the optional signature verification of the HSM FW | ||
.publicKeyHash | Specially formatted SHA-256 hash of the RSA 3K public key. Leave all 0xFF's to disable the additional public key verification. It is recommended to use the example script and documentation in the Product SDK to ensure correct generation and population of this field. | ||
.debugAuthCfg | Secure debug authorization configuration These fields are only relevant if the CCFG is configured with CCFG_DBGAUTH_REQAUTH. | ||
.secureKey | Configuration of the secure key | ||
.keyId | 8B customer defined Key ID used for lookup of the key in the customer database | ||
.publicKeyHash | SHA-256 hash of the debug key Key type depends on the configuration of scfg.secBootCfg.policyCfg.authAlgorithm. | ||
.nonSecureKey | Configuration of the non secure key | ||
.keyId | 8B customer defined Key ID used for lookup of the key in the customer database | ||
.publicKeyHash | SHA-256 hash of the debug key Key type depends on the configuration of scfg.secBootCfg.policyCfg.authAlgorithm. | ||
.challengeVector | Configuration of the secure debug challenge vector | ||
.lifetime | Allows for more/less security at the cost of complexity Defined options are:
| ||
.deviceConst | Allows for more/less security at the cost of complexity Defined options are:
| ||
.flashCfg | .flashLayout | Secure Boot Flash configuration These fields are only relevant if Secure Boot is enabled. See hw_scfg.h for more details on the slot. | |
.primaryAppSlots[2] | Two primary application slots | ||
.secondaryAppSlots[2] | Two secondary application slots | ||
.bldrSlot | A single slot to define the SSB | ||
... | Misc unused/reserved | ||
.secBootCfg | Secure Boot configuration | ||
.policyCfg | Secure Boot policy configuration | ||
.authMethod | Enable Secure Boot and decide which authentication method will be used. Defined options are:
| ||
.authAlgorithm | Decide which authentication algorithm will be used if secure boot is enabled. Defined options are:
| ||
.mode | Decide which secure boot update mode will be used if secure boot is enabled. Defined options are:
| ||
Secure Boot key update key configuration | |||
.keyUpdateKeyHash | SHA-256 hash of the key update key Key type depends on the configuration of scfg.secBootCfg.policyCfg.authAlgorithm. | ||
.permissions | Device permission fields. This is maximally restrictive combined with similar fields in FCFG and CCFG. | ||
... | Misc unused/reserved permissions | ||
.allowReturnToFactory | Allow Return-To-Factory procedure by SACI. Refer to Section 9.1.6 for details. Defined options are:
| ||
.allowToolsClientMode | Allow tools client mode to be enabled by SACI. Defined options are:
| ||
.allowChipErase | Allow chip erase by SACI and ROM SBL. Defined options are:
| ||
.allowFlashProgram | Allow flash program by SACI Defined options are:
| ||
.allowFlashVerify | Allow flash verify by SACI Defined options are:
| ||
... | Misc unused/reserved permissions | ||
.allowDebugPort | Allow enabling of SWD port. Defined options are:
| ||
.allowMainAppErase | Allow main app erase by SACI. Defined options are:
| ||
... | Misc unused/reserved permissions | ||
.emSensorCfg | HW EM sensor configuration Defined options are:
| ||
... | Misc fields | ||
.keyRingCfg | Secure boot key ring configuration | ||
.keyEntries[18] | A max of 18 keys can be stored in this key ring.See Section 11.4.4 for more details. | ||