User manual

Bootloader Functionality
www.ti.com
8.1 Bootloader Functionality
The CC26xx devices include a simple ROM-based bootloader that can communicate with an external
device over the serial interfaces on the UART0 and SSI0 peripherals. The same communication protocol
is used on both serial interfaces. These peripherals are IPs from ARM
®
.
The main purpose of the ROM bootloader is to support functionality for downloading a flash image.
8.1.1 Bootloader Disabling
The ROM bootloader supports commands that can read the flash image. Due to this read capability, a
secure measure for disabling the bootloader has been implemented. If the bootloader is disabled using the
CCFG BOOTLOADER_ENABLE parameter, the bootloader is unable to execute any commands. This
prevents attackers from using the bootloader if the CM3 program counter (PC) is forced to execute from
the bootloader code.
8.1.2 Bootloader Backdoor
To enter the ROM bootloader even when a valid image is in the flash, a bootloader backdoor is
implemented. The CCFG parameter BL_ENABLE can disable this backdoor. The backdoor functionality
uses a configurable I/O pin (CCFG parameter BL_PIN_NO) and a configurable I/O pin level (CCFG
parameter BL_LEVEL).
If backdoor functionality is enabled, externally applying a configurable signal level on a configurable I/O-
pin can force a ROM bootloader entry upon reset. If the backdoor is enabled and a valid flash image is
present, start-up code will check the level of the I/O pin. If the configured I/O-pin level matches the
configured signal level, the ROM bootloader does not transfer control to the flash image.
If the backdoor pin configuration matches one of the UART0–SSI0 pins, the external user should deassert
the backdoor signal before transmitting on the UART0–SSI0 interface.
Table 8-1 lists the BL_BACKDOOR_CONFIG parameter layout in CCFG.
Table 8-1. Layout of the BL_BACKDOOR_CONFIG Parameter in CCFG
Bit Field Element Description
Enables and disables the bootloader.
24:31 Enable Bootloader 0xC5 = Bootloader enabled
Any other value = Bootloader disabled
17:23 Reserved Reserved
Sets the active level of I/O pin selected by PinNumber.
16 Level 1 = Active high
0 = Active low
The number of the I/O pin that is used when backdoor is
enabled. If number is higher than the actual number of I/O
8:15 Pin Number
pins on the device the highest I/O pin number on the device
is selected.
Enables and disables the backdoor function.
0:7 Enable 0×C5 = Backdoor enabled
Any other value = Backdoor disabled
8.2 Bootloader Interfaces
The bootloader communicates with an external device over a 2–pin UART or a 4–pin SSI interface. The
communication protocol and transport layers are described in the following sections.
672
Bootloader SWCU117AFebruary 2015Revised March 2015
Submit Documentation Feedback
Copyright © 2015, Texas Instruments Incorporated