SPRUJH3 April   2025 TMS320F2800132 , TMS320F2800133 , TMS320F2800135 , TMS320F2800137 , TMS320F2800152-Q1 , TMS320F2800153-Q1 , TMS320F2800154-Q1 , TMS320F2800155 , TMS320F2800155-Q1 , TMS320F2800156-Q1 , TMS320F2800157 , TMS320F2800157-Q1 , TMS320F280021 , TMS320F280023 , TMS320F280023C , TMS320F280025 , TMS320F280025C , TMS320F280034 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037C , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039C , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041C , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049C , TMS320F28076 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377S , TMS320F28378D , TMS320F28378S , TMS320F28379D , TMS320F28379S , TMS320F28384D , TMS320F28384S , TMS320F28386D , TMS320F28386S , TMS320F28388D , TMS320F28388S , TMS320F28P550SG , TMS320F28P550SJ , TMS320F28P559SG-Q1 , TMS320F28P559SJ-Q1 , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2Configuring the Boot Mode
    1. 2.1 Standalone Boot
      1. 2.1.1 Boot Mode Select Pins (BMSP)
      2. 2.1.2 Boot Definition Table (BOOTDEF)
      3. 2.1.3 Boot ROM OTP Configuration Registers
      4. 2.1.4 CPU2 Boot Flow
    2. 2.2 Emulation Boot
  6. 3Programming the Flash
    1. 3.1 Flash API
    2. 3.2 Flash Kernels
  7. 4Bootloading Code to Flash
    1. 4.1 C2000 Hex Utility
    2. 4.2 Common Boot Modes
      1. 4.2.1 Boot to Flash
      2. 4.2.2 SCI Boot
      3. 4.2.3 CAN Boot
      4. 4.2.4 CAN-FD Boot
      5. 4.2.5 USB Boot
  8. 5FAQ
    1. 5.1 Selecting the BMSP GPIOs with a Software-based Implementation
    2. 5.2 Running a Flash Kernel from the Flash Instead of the RAM
    3. 5.3 No Symbols Defined When Debugging Boot ROM
    4. 5.4 Writing Values in the OTP Using the On-Chip Flash Tool
    5. 5.5 Writing Values in the OTP Using the Flash API Plugin
  9. 6Summary
  10. 7References

Standalone Boot

Note: This chapter is based on the F280015x family of devices, but can be applied any device that employs the BOOTPIN-CONFIG/BOOTDEF registers, as listed in Table 2-3. Device specific information can be found in the Boot ROM chapter of the device's Technical Reference Manual (TRM).

On every CPU reset, the device executes a pre-defined boot sequence in the boot ROM depending on the reset type and boot configuration. After successfully initializing the device (assuming no debugger is connected), the Boot Mode Select Pins (BMSPs) are polled to determine which boot mode to invoke. The BMSPs can be mapped to external GPIO pins, either defined by the device’s default configuration (Table 2-1) or the user’s custom definition in the OTP memory (see Section 2.1.1 for more details). Referred to as standalone boot, this procedure provides more flexibility for conducting firmware updates through the peripheral modules on the device rather than having a debugger directly connected.

All the latest C2000 devices are pre-programmed with boot modes that can be selected using the default BMSPs, given per device family in Table 2-2. From the selection of factory default boot modes, the device has the option to boot directly to the Flash memory or load new application code into RAM over pre-determined peripheral communication modules, without requiring any boot registers to be programmed. However, what if the user needs to use a peripheral not included in the default boot modes or needs more customizing in the boot options?

Table 2-1 F280015x Device Default Boot Modes
Boot Mode GPIO24
(Default boot mode select pin 1)
GPIO32
(Default boot mode select pin 0)
Parallel IO 0 0
SCI / Wait Boot 0 1
CAN 1 0
Flash 1 1
Table 2-2 Device Default Boot Mode Select Pins
GPIO 24 and GPIO 32 GPIO 72 and GPIO 84
Device Families F28002x,
F28003x,
F28004x,
F280013x,
F280015x,
F28P55x
F2837xD,
F2837xS,
F2807x,
F2838x,
F28P65x