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

F28P65x

Question: With the ControlCARD, I cannot download the SCI Flash Kernel to RAM in SCI Boot, what steps should I take to do so?

Answer:

  1. Check the revision for the controlCard. Only Revision A has the ability to use the SCI Flash Kernel project as the SCIRX/SCITX communication lines are properly connected to GPIO28/29 for SCI Autobaud. Versions below Revision A will not work with the project. For more details, see the Warnings/Notes/Errata section of [13].
  2. The FTDI Chip interface for the device by default uses GPIO12/13 for SCI communication. The controlCARD requires that option 5 of SCI Boot be used in order for it to work on the device.
  3. Next, set the S1 position 1 to ON on the controlCARD. This allows the emulator to be connected. Set the Boot mode to SCI by setting S3 Position 1 to 0, and SW1 Position 2 to 1.
  4. After that, make sure that S1 position 2 is also ON. GPIO28 (and pin 76 of the 180-pin controlCARD connector) will be coupled to the FTDI’s USB-to-Serial adapter. This allows UART communication to a computer via the FTDI chip.
  5. After this, connect the emulator via CCS. Launch the target configuration file for the controlCard and connect to CPU1. Open up a Memory Window (View > Memory Window) and look up the location 0xD00 in memory. In order to use Alternate GPIOs (28, 29) for SCI Boot mode, we need to set the EMU-BOOTDEF-LOW field (bits 15:0) or Z1-OTP-BOOTDEF-LOW (0x7800C which is in User configurable DCSM OTP) to 0xA1. Change the following values at their respective register locations: 0xFFFF at 0xD00, 0x5AFF at 0xD01, 0x00A1 at 0xD04.
  6. If you wish to run CPU2 as well, connect to it in CCS. Click "Reset CPU", followed by "Resume". The program will hit ESTOP. Click "Resume" again.
  7. In CCS, for CPU1, click "Reset CPU", followed by "Resume" (F8).
  8. Now, run the command serial_flash_programmer.exe with the appropriate command. The kernel will be downloaded to RAM. When the menu pops up, select the desired operation to proceed.

Question: With the LaunchPad, I cannot download the SCI Flash Kernel to RAM in SCI Boot, what steps should I take to do so?

Answer:

  1. The FTDI Chip interface for the device by default uses GPIO12/13 for SCI communication. The LaunchPad requires that option 3 of SCI Boot be used in order for it to work on the device. Within the device header file for the SCI Flash Kernel project, there is a symbol for utilizing the LaunchPad (_LAUNCHXL_F28P65X) that must be added to the list of predefined symbols under project properties. Also within the project make sure that the boot mode value given to sciGetFunction within the main source file is set to SCI_BOOT_ALT3. Rebuild the project for the changes to take place.
  2. Next, set the S2 position 1 to OFF on the LaunchPad. This allows UART communication to a computer via the FTDI Chip. Set the Boot mode to SCI by setting S3 Position 1 to 0, and S3 Position 2 to 1.
  3. After this, connect the emulator via CCS. Launch the target configuration file for the controlCard and connect to CPU1. Open up a Memory Window (View > Memory Window) and look up the location 0xD00 in memory. In order to use Alternate GPIOs (42, 43) for SCI Boot mode, we need to set the EMU-BOOTDEF-LOW field (bits 15:0) or Z1-OTP-BOOTDEF-LOW (0x7800C which is in User configurable DCSM OTP) to 0x61. Change the following values at their respective register locations: 0xFFFF at 0xD00, 0x5AFF at 0xD01, 0x0061 at 0xD04.
  4. If you wish to run CPU2 as well, connect to it in CCS. Click "Reset CPU", followed by "Resume". The program will hit ESTOP. Click "Resume" again. In CCS, for CPU1, click "Reset CPU", followed by "Resume" (F8).Now, run the command serial_flash_programmer.exe with the appropriate command. The kernel will be downloaded to RAM. When the menu pops up, select the desired operation to proceed.