SPRABV4H October   2021  – April 2024 SM320F28335-EP , SM320F28335-HT , TMS320F280023-Q1 , TMS320F280025-Q1 , TMS320F280025C-Q1 , TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1 , TMS320F2802-Q1 , TMS320F28020 , TMS320F280200 , TMS320F28021 , TMS320F28022 , TMS320F28022-Q1 , TMS320F280220 , TMS320F28023 , TMS320F28023-Q1 , TMS320F280230 , TMS320F28026 , TMS320F28026-Q1 , TMS320F28026F , TMS320F28027 , TMS320F28027-Q1 , TMS320F280270 , TMS320F28027F , TMS320F28027F-Q1 , TMS320F28030 , TMS320F28030-Q1 , TMS320F28031 , TMS320F28031-Q1 , TMS320F28032 , TMS320F28032-Q1 , TMS320F28033 , TMS320F28033-Q1 , TMS320F28034 , TMS320F28034-Q1 , TMS320F28035 , TMS320F28035-EP , TMS320F28035-Q1 , TMS320F28050 , TMS320F28051 , TMS320F28052 , TMS320F28052-Q1 , TMS320F28052F , TMS320F28052F-Q1 , TMS320F28052M , TMS320F28052M-Q1 , TMS320F28053 , TMS320F28054 , TMS320F28054-Q1 , TMS320F28054F , TMS320F28054F-Q1 , TMS320F28054M , TMS320F28054M-Q1 , TMS320F28055 , TMS320F2806-Q1 , TMS320F28062 , TMS320F28062-Q1 , TMS320F28062F , TMS320F28062F-Q1 , TMS320F28063 , TMS320F28064 , TMS320F28065 , TMS320F28066 , TMS320F28066-Q1 , TMS320F28067 , TMS320F28067-Q1 , TMS320F28068F , TMS320F28068M , TMS320F28069 , TMS320F28069-Q1 , TMS320F28069F , TMS320F28069F-Q1 , TMS320F28069M , TMS320F28069M-Q1 , TMS320F28075 , TMS320F28075-Q1 , TMS320F28332 , TMS320F28333 , TMS320F28334 , TMS320F28335 , TMS320F28335-Q1 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S , TMS320F28P550SJ , TMS320F28P559SJ-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2Programming Fundamentals
  6. 3ROM Bootloader
  7. 4Flash Kernel A
    1. 4.1 Implementation
      1. 4.1.1 Application Load
  8. 5Flash Kernel B
    1. 5.1 Implementation
      1. 5.1.1 Packet Format
      2. 5.1.2 CPU1 Kernel Commands
      3. 5.1.3 CPU2 Kernel Commands
      4. 5.1.4 Packet Data
      5. 5.1.5 Status Codes
    2. 5.2 F2838x SCI Flash Kernels
      1. 5.2.1 CPU1-CPU2 Kernels
        1. 5.2.1.1 Kernel Commands
      2. 5.2.2 CPU1-CM Kernels
        1. 5.2.2.1 Kernel Commands
      3. 5.2.3 Using the Projects With SCI Bootloader
        1. 5.2.3.1 CPU1-CPU2
        2. 5.2.3.2 CPU1-CM
      4. 5.2.4 Using the Projects With Code Composer Studio (CCS) Software
        1. 5.2.4.1 CPU1-CPU2
        2. 5.2.4.2 CPU1-CM
    3. 5.3 F28P65x SCI Flash Kernel
      1. 5.3.1 CPU1 Kernel
        1. 5.3.1.1 Host-Kernel Communication: ControlCard
        2. 5.3.1.2 Host-Kernel Communication: LaunchPad Development Kit
        3. 5.3.1.3 Kernel Commands
      2. 5.3.2 Using the Projects With SCI Bootloader
        1. 5.3.2.1 CPU1
      3. 5.3.3 Using the Projects With CCS
        1. 5.3.3.1 CPU1
    4. 5.4 F28P55x SCI Flash Kernel
      1. 5.4.1 Implementation
        1. 5.4.1.1 Specifying the Flash Banks and Sectors of the Application
      2. 5.4.2 Kernel
      3. 5.4.3 Using the Project With SCI Bootloader
      4. 5.4.4 Using the Project with CCS
  9. 6Example Implementation
    1. 6.1 Device Setup
      1. 6.1.1 Flash Kernels
      2. 6.1.2 Hardware
    2. 6.2 Host Application: serial_flash_programmer
      1. 6.2.1 Overview
      2. 6.2.2 Building and Running serial_flash_programmer Using Visual Studio
      3. 6.2.3 Running serial_flash_programmer for F2806x (Flash Kernel A)
      4. 6.2.4 Running serial_flash_programmer for F2837xD (Flash Kernel B)
    3. 6.3 Host Application: Firmware Updates on F28004x With SCI Flash Kernel
      1. 6.3.1 Overview
      2. 6.3.2 Boot Pin Configurations
      3. 6.3.3 Using Three Boot Modes
      4. 6.3.4 Performing Live Firmware Updates
  10. 7Troubleshooting
    1. 7.1 General
    2. 7.2 SCI Boot
    3. 7.3 F2837x
      1. 7.3.1 F2837xS
      2. 7.3.2 F2837xD
      3. 7.3.3 F2837xD LaunchPad™
    4. 7.4 F28P65x
  11. 8References
  12. 9Revision History

Using Three Boot Modes

Suppose that a user wants to switch between 3 boot modes - SCI, flash and I2C. Three boot mode pins will need to be used, since they do not fall into the 4 device default boot modes.

In order to have further customization of boot modes as desired here, the user needs to use the BOOTPIN_CONFIG location of the user configurable DCSM OTP. This allows the user to select up to 3 GPIO pins to have up to 8 total boot modes.

The BOOTDEF register of the user configurable DCSM OTP will also allow the user to configure boot modes beyond the default boot modes.

To switch between SCI, flash, and I2C Boot, the following steps need to be taken:

  1. Set BOOTPIN_CONFIG appropriately – bits 7-0, 15-8, 23-16 all to indicate which GPIOs will be used to represent the boot mode. Bits 31-24 will have the key 0x5A to validate the earlier bits.
  2. Set BOOTDEF1 to 0x01 to indicate SCI boot with boot mode 1 (when boot mode select GPIOs = 001) and the SCI GPIOs are GPIO29 and GPIO28.
  3. Set BOOTDEF3 to 0x03 to indicate Flash boot with boot mode 3 (when boot mode select GPIOs = 011). The Flash entry point is 0x80000 from Flash Bank 0, sector 0.
  4. Set BOOTDEF7 to 0x07 to indicate I2C boot with boot mode 7 (when boot mode select GPIOs = 111), and the I2C GPIOs are GPIO32 and GPIO33.

For experimentation with boot mode options, users can use the EMU_BOOTPIN_CONFIG register before writing to OTP_BOOTPIN_CONFIG. OTP_BOOTDEF also has a EMU_BOOTDEF for experimentation.

The equivalent of the BOOTPIN_CONFIG registers on the F2837x is the BOOTCTRL register.