SLAA450G April 2010 – April 2020
The BSL Protect function also must indicate whether the BSL or application code (if present) should start. This selection is made by setting bits in R12 to these defined values:
Bit 0
0: Indicates that the JTAG state should be determined based on JTAG Key state.
1: Overrides the JTAG Key, keeping JTAG open (used primarily for debugging the BSL).
Bit 1
0: Indicates the BSL should not be started.
1: Indicates the BSL should be started by loading the value in the BSL Start Vector to the PC.
The method for determining whether the BSL should be invoked is entirely dependent on the BSL Protect function. TI-supplied UART BSLs check the SYSBSLIND bit to check for the occurrence of a specific pin-toggle sequence. The TI-supplied USB BSLs, however, have an entirely different start-up criteria based on their application requirements: if USB power is present and the device is blank, the BSL Protect function indicates that the BSL should start, so the blank device may be programmed through USB. However, in a custom BSL, almost any criteria could be used, such as checking the user code against a known CRC value to make sure that only correctly programmed user code begins execution.