SWCU194 March 2023 CC1314R10 , CC1354P10 , CC1354R10 , CC2674P10 , CC2674R10
TI recommends configuring a device for final production with the steps that follow:
The following defines in ccfg.c must be set to 0x00 to disallow access to Flash contents through the bootloader interface.
SET_CCFG_BL_CONFIG_BOOTLOADER_ENABLE
SET_CCFG_BL_CONFIG_BL_ENABLE
The SET_CCFG_CCFG_TI_OPTIONS_TI_FA_ENABLE define in ccfg.c must be set to 0x00 to disallow failure analysis access by TI.
The following defines in ccfg.c must be set to 0x00 to individually disallow access to the JTAG access ports:
SET_CCFG_CCFG_TAP_DAP_0_PWRPROF_TAP_ENABLE
SET_CCFG_CCFG_TAP_DAP_0_TEST_TAP_ENABLE
SET_CCFG_CCFG_TAP_DAP_0_CPU_DAP_ENABLE
SET_CCFG_CCFG_TAP_DAP_1_AON_TAP_ENABLE
SET_CCFG_CCFG_TAP_DAP_1_PBIST1_TAP_ENABLE
SET_CCFG_CCFG_TAP_DAP_1_PBIST2_TAP_ENABLE
To enable power profiling with EnergyTrace™ software, the SET_CCFG_CCFG_TAP_DAP_0_PWRPROF_TAP_ENABLE define in ccfg.c must be set to 0xC5.
The SET_CCFG_IMAGE_VALID_CONF_IMAGE_VALID define in ccfg.c must be set to the address of the vector table of the Flash image to pass control to the programmed image in Flash at boot. Most standard Flash images will have the vector table located at address 0x00000000.
Optionally, the SET_CCFG_ERASE_CONF_CHIP_ERASE_DIS_N define in ccfg.c can be set to 0x0 to disallow erasing of the Flash when Chip Erase is requested by JTAG.
Use the SET_CCFG_CCFG_PROT_n defines in ccfg.c to program and erase protect the sectors of Flash that are not designed to be updated in-system by the final product. Any bit in the define set to 0 will force that the corresponding Flash sector number is program and erase protected.
Set SET_CCFG_DEB_AUTH_CFG_SPIDENSEL to 1 and set SET_CCFG_DEB_AUTH_CFG_INTSPIDEN to 0 to disallow Secure debug.
SET_CCFG_BUS_CFG must be set to 0xFFFFFFFF.
The following defines should be individually set to 0x1 to allow VTOR mapping and MPU re-configuration:
SET_CCFG_CPU_LOCK_CFG_LOCKNSVTOR
SET_CCFG_CPU_LOCK_CFG_LOCKSVTAIRCR
SET_CCFG_CPU_LOCK_CFG_LOCKSAU
SET_CCFG_CPU_LOCK_CFG_LOCKNSMPU
SET_CCFG_CPU_LOCK_CFG_LOCKSMPU
If default Trustzone boundaries need to be specified, then SET_CCFG_CCFG_TI_OPTIONS_IDAU_CFG_ENABLE must be set to 0x0, and the following watermark configurations should be specified:
SET_CCFG_TRUSTZONE_FLASH_CFG_NSADDR_BOUNDARY
SET_CCFG_TRUSTZONE_FLASH_CFG_NSCADDR_BOUNDARY
SET_CCFG_TRUSTZONE_SRAM_CFG_NSADDR_BOUNDARY
SET_CCFG_TRUSTZONE_SRAM_CFG_NSCADDR_BOUNDARY
SRAM parity is recommended to be enabled by setting SET_CCFG_SRAM_CFG_PARITY_DIS to 0x0. Parity can be disabled only if increased soft fault rate is acceptable. Applications with run time security must have parity enabled.
Enabling some of the functionalities in the ENABLE fields in CCFG are contingent on the corresponding ENABLE field in FCFG that has been set to enabled by the TI production test. This is the case for the access configuration of the TEST_TAP access port, for example. In the products where the TEST_TAP access is not enabled in FCFG, the value in the corresponding CCFG field set by the SET_CCFG_CCFG_TAP_DAP_0_TEST_TAP_ENABLE define in ccfg.c, is ignored and the functionality is disabled.