SPRUHM8K December 2013 – May 2024 TMS320F28374D , TMS320F28375D , TMS320F28376D , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28378D , TMS320F28379D , TMS320F28379D-Q1
This section details how the boot mode select pins can be customized by the user, by programming the BOOTCTRL register location in user-configurable DCSM OTP. The BOOTCTRL register, when programmed with a valid key, allows different GPIOs to be used for the two boot mode select pins. Additionally, the boot mode select pins allow the same GPIO to be assigned to each pin for single GPIO use cases. Also within the BOOTCTRL register, the default boot mode for use with Get boot can be changed. When debugging, EMU_BOOTCTRL is the emulation equivalent of the BOOTCTRL register and allows users to experiment with different boot modes without writing to OTP memory. Refer to Section 4.7 for details on values that can be set in the EMU_BOOTCTRL control word.
Bit | Name | Description |
---|---|---|
31-24 | Boot Mode Select Pin 1 (BMSP1) | Set to the GPIO pin to be used during boot (up to 255). 0 = Default BMSP1 1 = GPIO0 2 = GPIO1 ... 255 = GPIO254 |
23-16 | Boot Mode Select Pin 0 (BMSP0) | Set to the GPIO pin to be used during boot (up to 255). 0 = Default BMSP0 1 = GPIO0 2 = GPIO1 ... 255 = GPIO254 |
15-8 | Boot Mode (BMODE) | Boot mode definition when using Get boot mode option. Refer to Section 4.6 for valid BMODE values. |
7-0 | Key | Write 0x5A to these 8-bits to tell the boot ROM code that the bits in this register are valid |
Bit | Name | Description |
---|---|---|
31-24 | Reserved | Reserved |
23-16 | Reserved | Reserved |
15-8 | Boot Mode (BMODE) | Boot mode definition when using Get boot mode option. Refer to Section 4.6 for valid BMODE values. |
7-0 | Key | Write 0x5A to these 8-bits to tell the boot ROM code that the bits in this register are valid |
On this device, the DCSM has two zones. Each zone, Z1 and Z2, has a copy of the BOOTCTRL register. The boot ROM is designed to be able to read from either location and uses the procedure in Figure 4-1 to identify which register to use. By default, if the Z1 BOOTCTRL is programmed, then that register is given the priority. If the Z1 BOOTCTRL is not programmed, then the boot ROM checks if Z2 BOOTCTRL is programmed; if not programmed, then the factory default options are used.