SPMA083 January   2022 TM4C129CNCPDT , TM4C129CNCPDT , TM4C129CNCZAD , TM4C129CNCZAD , TM4C129DNCPDT , TM4C129DNCPDT , TM4C129DNCZAD , TM4C129DNCZAD , TM4C129EKCPDT , TM4C129EKCPDT , TM4C129ENCPDT , TM4C129ENCPDT , TM4C129ENCZAD , TM4C129ENCZAD , TM4C129LNCZAD , TM4C129LNCZAD , TM4C129XKCZAD , TM4C129XKCZAD , TM4C129XNCZAD , TM4C129XNCZAD

 

  1.   Trademarks
  2. 1Implementation
    1. 1.1 Flash Boot Loader Project
      1. 1.1.1 Changes to the Example Project boot_serial
        1. 1.1.1.1 Changes to bl_config.h
        2. 1.1.1.2 New Functions Added
          1. 1.1.1.2.1 MyCheckUpdateFunc
          2. 1.1.1.2.2 MyReinitFunc
          3. 1.1.1.2.3 MyEndFunc
          4. 1.1.1.2.4 MyDecryptionFunc
    2. 1.2 Image Creation Project
    3. 1.3 Key Image Project
    4. 1.4 EK-TM4C129EXL Example Application Project
    5. 1.5 DK-TM4C129X Example Application Project
    6. 1.6 RAM-Based EEPROM Erase Project
  3. 2Example Walk Through
    1. 2.1 Build Environment
    2. 2.2 Importing the Examples into Code Composer Studio
    3. 2.3 Setting Keys and Variables
      1. 2.3.1 Keys
      2. 2.3.2 Initialization Vector
      3. 2.3.3 Application Start Address and Flash Size
        1. 2.3.3.1 APP_BASE
        2. 2.3.3.2 APP_END
        3. 2.3.3.3 RAM_BASE
    4. 2.4 Running the shared_key_image_encrypt Tool
    5. 2.5 Running the Shared Key Serial Boot Loader
      1. 2.5.1 Programming the Boot Loader
        1. 2.5.1.1 Erasing Existing Code and Keys
          1. 2.5.1.1.1 Erasing Flash and EEPROM With Code Composer Studio
          2. 2.5.1.1.2 Erasing Flash and EEPROM by Using the Unlock Procedure
        2. 2.5.1.2 Using the ROM Boot Loader to Program the Shared Key Boot Loader
      2. 2.5.2 Using the Shared Key Boot Loader to Program the Application Code
    6. 2.6 Returning to the Boot Loader
  4. 3Summary

Using the ROM Boot Loader to Program the Shared Key Boot Loader

Now that the flash is erased, the LaunchPad is executing the ROM boot loader. The prior example for the shared key boot loader utilized a serial interface. This ROM boot loader example uses the same serial interface to demonstrate how to load the shared key boot loader into a blank device.

Note: Make sure the TeraTerm terminal window is disconnected from the serial port and the LaunchPad is not connected to Code Composer Studio. The USB cable must still be connected.
  1. Open LM Flash Programmer and set the items on the configuration tab as shown below, selecting the COM port associated with the LaunchPad.
    GUID-20211209-SS0I-MBJX-JLJT-GVVQLHFDRK8K-low.pngFigure 2-17 Configuring LM Flash Programmer to Program the Boot Loader
  2. Then, on the “Program” tab, browse to the Debug_wKey\shared_key_boot_serial.bin file. Make sure “Reset MCU After Program” is checked and the “Program Address Offset” is set to 0.
    GUID-20211209-SS0I-KLBK-ZBGN-46MFX6LGKVTX-low.pngFigure 2-18 Programming the Boot Loader With LM Flash Programmer
  3. Click the “Program” button.

After programming is completed, the boot loader executes and copies the keys into EEPROM before erasing them from flash. If the Release_wKey\shared_key_boot_serial.bin file is used instead of the debug version, the boot loader write protects the first sector of flash and lock the JTAG.