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

Emulation Boot

If a JTAG debugger is connected to the device, then the device enters emulation boot mode. Like standalone boot mode, boot options other than those in default boot table can be accessed by programming the emulation boot registers located in RAM, lending users the capability to program boot configurations repeatedly. Thus, emulation boot allows users to test boot configurations and view the state of the boot ROM with a debugger (see Section 5.3).

Note: TI highly recommends using emulation mode to debug and verify correctness of the device boot configurations before attempting to program the OTP, as you can only program the OTP once.
  • EMU-BOOTPIN-CONFIG is the emulation equivalent of Z1-OTP-BOOTPIN-CONFIG/Z2-OTP-BOOTPIN-CONFIG, and can be programmed to experiment with different boot modes without writing to OTP.
  • EMU-BOOTDEF-LOW/EMU-BOOTDEF-HIGH are the emulation equivalents of Z1-OTP-BOOTDEF-LOW/Z1-OTP-BOOTDEF-HIGH.

The emulation locations located in RAM can be written to as many times as needed at the locations defined in Table 2-9 using the memory browser in CCS:

Table 2-9 Emulation Boot Register Locations
Boot ROM Name Register Address
EMU-BOOTPIN-CONFIG 0x0000 0D00
EMU-GPREG2 0x0000 0D02
EMU-BOOTDEF-LOW 0x0000 0D04
EMU-BOOTDEF-HIGH 0x0000 0D06

At the start of the emulation boot mode, the EMU-BOOTPIN-CONFIG and EMU-BOOTDEF locations are checked, and the EMU-BOOTPIN-CONFIG-KEY is verified.

  • If EMU-BOOTPIN-CONFIG-KEY is equal to 0xA5, then the CPU emulates standalone boot, essentially using the OTP definitions if already programmed.
  • If EMU-BOOTPIN-CONFIG-KEY is equal to 0x5A, then the emulation BOOTDEF options are decoded using the specified BMSPs and the selected boot mode is executed.