SPRUII0F May 2019 – June 2024 TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S
This section explains how the boot mode select pins can be customized by the user, by programming the BOOTPINCONFIG location (refer to Table 5-9) in the user-configurable dual-zone security module (DCSM) OTP. The location in the DCSM OTP is Z1-BOOTPINCONFIG or Z2-BOOTPINCONFIG. When debugging, EMUBOOTPINCONFIG is the emulation equivalent of Z1-BOOTPINCONFIG/Z2-BOOTPINCONFIG, and can be programmed to experiment with different boot modes without writing to OTP. The device can be programmed to use 0, 1, 2, or 3 boot mode select pins as needed.
When using Z2-BOOTPINCONFIG, the configurations programmed in this location will take priority over the configurations in Z1-BOOTPINCONFIG. It is recommended to use Z1-BOOTPINCONFIG first and then if OTP configurations need to be altered, switch to using Z2-BOOTPINCONFIG.
Bit | Name | Description |
---|---|---|
31:24 | Key |
Write 0x5A to these 8-bits to tell the boot ROM code that the bits in this register are valid For EMUBOOTPINCONFIG only, write 0xA5 to emulate the standalone boot flow and use the BMSPs/OTP BOOTDEF table |
23:16 | Boot Mode Select Pin 2 (BMSP2) | Refer to BMSP0 description except for BMSP2 |
15:8 | Boot Mode Select Pin 1 (BMSP1) | Refer to BMSP0 description except for BMSP1 |
7:0 | Boot Mode Select Pin 0 (BMSP0) |
Set to the GPIO pin to be used during boot (up to 255). 0x0 = GPIO0; 0x01 = GPIO1 and so on Writing 0xFF disables BMSP0 and this pin is no longer used to select the boot mode. |
The following GPIOs cannot be used as a BMSP. If selected for a particular BMSP, the boot ROM automatically selects the factory default GPIO (the factory default for BMSP2 is 0xFF, which disables the BMSP).
BOOTPIN_CONFIG Key |
BMSP0 | BMSP1 | BMSP2 | Realized Boot Mode |
---|---|---|---|---|
!= 0x5A | Don’t Care | Don’t Care | Don’t Care | Boot as defined by the factory default BMSPs |
= 0x5A | 0xFF | 0xFF | 0xFF | Boot as defined in the boot table for boot mode 0 (All BMSPs disabled) |
Valid GPIO | 0xFF | 0xFF | Boot as defined by the value of BMSP0 (BMSP1 and BMSP2 disabled) |
|
0xFF | Valid GPIO | 0xFF | Boot as defined by the value of BMSP1 (BMSP0 and BMSP2 disabled) |
|
0xFF | 0xFF | Valid GPIO | Boot as defined by the value of BMSP2 (BMSP0 and BMSP1 disabled) |
|
Valid GPIO | Valid GPIO | 0xFF | Boot as defined by the values of BMSP0 and BMSP1 (BMSP2 disabled) |
|
Valid GPIO | 0xFF | Valid GPIO | Boot as defined by the values of BMSP0 and BMSP2 (BMSP1 disabled) |
|
0xFF | Valid GPIO | Valid GPIO | Boot as defined by the values of BMSP1 and BMSP2 (BMSP0 disabled) |
|
Valid GPIO | Valid GPIO | Valid GPIO | Boot as defined by the values of BMSP0, BMSP1, and BMSP2 | |
Invalid GPIO | Valid GPIO | Valid GPIO | BMSP0 is reset to the factory default BMSP0 GPIO Boot as defined by the values of BMSP0, BMSP1, and BMSP2 |
|
Valid GPIO | Invalid GPIO | Valid GPIO | BMSP1 is reset to the factory default BMSP1 GPIO Boot as defined by the values of BMSP0, BMSP1, and BMSP2 |
|
Valid GPIO | Valid GPIO | Invalid GPIO | BMSP2 is reset to the factory default state, which is disabled Boot as defined by the values of BMSP0 and BMSP1 |
When decoding the boot mode, BMSP0 is the least-significant-bit and BMSP2 is the most-significant-bit of the boot table index value. It is recommended when disabling BMSPs to start with disabling BMSP2. For example, in an instance when only using BMSP2 (BMSP1 and BMSP0 are disabled), then only the boot table indexes of 0 and 4 will be selectable. In the instance when using only BMSP0, then the selectable boot table indexes are 0 and 1.