TI CC35xx Device Provisioning

From SEGGER Knowledge Base
Jump to navigation Jump to search

The CC35xx series of devices comes with enhanced security features. SEGGER implemented support for these features via a dedicated utility called Device Provisioner. For more information about this, please refer to the Device Provisioner article. CC35xx Security features are implemented in the PCode_DevPro_TI_CC35xx.pex script file.

Important information

  • TI CC35xx series of devices uses a dedicated Cortex-M3 core for device activation, managing debug access to main Cortex-M33 core, programming flash memory, etc.

Every action will require an appropriate service firmware for Cortex-M3 core, e.g. ti_debug.CC35XXE.sign.bin inside Simplelink Wi-Fi Toolbox is used for opening debug access. After application is created it must be signed using Simplelink Wi-Fi Toolbox post-build script. It will generate a signed application binary for programming using a debug_action_request.sign.bin file, which is used to open debug access for J-Link/Flasher.

Prerequisites

The following tools and software development kits must be installed in order to get access to signed Cortex-M3 firmwares and to sign a built application.

  1. TI Simplelink Wi-Fi Toolbox.
  2. TI Simplelink Wi-Fi SDK.
  3. TI SYSCONFIG Utility or TI Code Composer Studio with built-in SYSCONFIG Utility.

Usage

DevPro -operation [operation_name] -if SWD -speed 4000 [-SetConfigVal parameter_name=value] -ScriptFile PCode_DevPro_TI_CC35xx.pex
Operation Parameters Values Description
OpenDebug ToolboxPath Path to the TI Simplelink Wi-Fi Toolbox Opens device for debugging operation
ActionReqFile Path to a signed request action file, generated in post build step by the TI Simplelink Wi-Fi Toolbox
ProgramFlash ToolboxPath Path to the TI Simplelink Wi-Fi Toolbox Programs specified binaries into flash memory
ActionReqFile Path to a signed request action file, generated in post build step by the TI Simplelink Wi-Fi Toolbox
ProgInstrFile Programming instruction file, describes the flash memory type and other constraints
BootSectorFile Optional parameter. Boot configuration file, describes the flash memory map and flash communication instruction
PrimaryTBLFile Optional parameter. TI bootloader for primary slot
SecondaryTBLFile Optional parameter. TI bootloader for secondary slot
PrimaryTIWFWFile Optional parameter. Wireless subsystem firmware for primary slot
SecondaryTIWFWFile Optional parameter. Wireless subsystem firmware for secondary slot
PrimaryVendorFile Optional parameter. User application for primary slot
SecondaryVendorFile Optional parameter. User application for secondary slot

Examples

Open debug

Example
DevPro.exe -operation OpenDebug -if SWD -speed 4000 -SetConfigVal "ToolboxPath=C:\ti\simplelink_wifi_toolbox_win_4_0_13" -SetConfigVal "ActionReqFile=C:\ti\CCS\workspace_ccstheia\pwmled1_LP_EM_CC35X1_freertos_ticlang\Debug\toolbox\debug_action_request.sign.bin" -ScriptFile C:\Work\JLink\PCodes\DevPro\public\PCode_DevPro_TI_CC35xx.pex
SEGGER Device Provisioner V9.29 (beta)
Compiled Mar 18 2026 16:54:05
Command line: -operation OpenDebug -if SWD -speed 4000 -SetConfigVal ToolboxPath=C:\ti\simplelink_wifi_toolbox_win_4_0_13 -SetConfigVal ActionReqFile=C:\ti\CCS\workspace_ccstheia\pwmled1_LP_EM_CC35X1_freertos_ticlang\Debug\toolbox\debug_action_request.sign.bin -ScriptFile C:\Work\JLink\PCodes\DevPro\public\PCode_DevPro_TI_CC35xx.pex
Firmware: J-Link V12 compiled Mar 26 2026 10:14:53
S/N: 602000001

J-Link log: Loading file...
J-Link log: C:\ti\simplelink_wifi_toolbox_win_4_0_13\programmer\tbl\ti_debug.CC35XXE.sign.bin
J-Link log: Loading file...
J-Link log: C:\ti\CCS\workspace_ccstheia\pwmled1_LP_EM_CC35X1_freertos_ticlang\Debug\toolbox\debug_action_request.sign.bin
J-Link log: Debug opened successfully!

Program flash memory

Example
DevPro.exe -operation ProgramFlash -if SWD -speed 4000 -SetConfigVal "ToolboxPath=C:\ti\simplelink_wifi_toolbox_win_4_0_13" -SetConfigVal "ActionReqFile=C:\prj_empty\programming_action_request.sign.bin" -SetConfigVal "ProgInstrFile=C:\prj_empty\programming_instructions_image.sign.bin" -SetConfigVal "BootSectorFile=C:\prj_empty\boot_sector_image.flashready.bin" -SetConfigVal "PrimaryTBLFile=C:\prj_empty\primary_tbl_image.flashready.bin" -SetConfigVal "PrimaryTIWFWFile=C:\prj_empty\primary_ti_wireless_fw_image.flashready.bin" -SetConfigVal "PrimaryVendorFile=C:\prj_empty\primary_vendor_image.flashready.bin" -ScriptFile C:\Work\JLink\PCodes\DevPro\public\PCode_DevPro_TI_CC35xx.pc
SEGGER Device Provisioner V9.49
Compiled Jun  3 2026 16:29:06
Command line: -operation ProgramFlash -if SWD -speed 4000 -SetConfigVal ToolboxPath=C:\ti\simplelink_wifi_toolbox_win_4_0_13 -SetConfigVal ActionReqFile=C:\prj_empty\programming_action_request.sign.bin -SetConfigVal ProgInstrFile=C:\prj_empty\programming_instructions_image.sign.bin -SetConfigVal BootSectorFile=C:\prj_empty\boot_sector_image.flashready.bin -SetConfigVal PrimaryTBLFile=C:\prj_empty\primary_tbl_image.flashready.bin -SetConfigVal PrimaryTIWFWFile=C:\prj_empty\primary_ti_wireless_fw_image.flashready.bin -SetConfigVal PrimaryVendorFile=C:\prj_empty\primary_vendor_image.flashready.bin -ScriptFile C:\Work\JLink\PCodes\DevPro\public\PCode_DevPro_TI_CC35xx.pc
Firmware: J-Link V12 compiled May 26 2026 15:13:57
S/N: 602000001

J-Link log: Loading file...
J-Link log: C:\ti\simplelink_wifi_toolbox_win_4_0_13\programmer\tbl\ti_programmer.CC35XXE.sign.bin
J-Link log: Loading file...
J-Link log: C:\prj_empty\programming_action_request.sign.bin
J-Link log: Loading file...
J-Link log: C:\prj_empty\programming_instructions_image.sign.bin
J-Link log: Loading file...
J-Link log: C:\prj_empty\boot_sector_image.flashready.bin
J-Link log: Loading file...
J-Link log: C:\prj_empty\primary_tbl_image.flashready.bin
J-Link log: The following optional file is not specified and will be skipped:
J-Link log: SecondaryTBLFile
J-Link log: Loading file...
J-Link log: C:\prj_empty\primary_ti_wireless_fw_image.flashready.bin
J-Link log: The following optional file is not specified and will be skipped:
J-Link log: SecondaryTIWFWFile
J-Link log: Loading file...
J-Link log: C:\prj_empty\primary_vendor_image.flashready.bin
J-Link log: The following optional file is not specified and will be skipped:
J-Link log: SecondaryVendorFile
J-Link log: Device programming finished!