SLAA600E June   2013  – January 2024

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
    1. 1.1 Glossary
    2. 1.2 Conventions
  5. 2Implementation
    1. 2.1 Main
    2. 2.2 Application Manager
      1. 2.2.1 Boot and Application Detection
        1. 2.2.1.1 Force Bootloader Mode
        2. 2.2.1.2 Application Validation
        3. 2.2.1.3 Jump to Application
      2. 2.2.2 Vector Redirection
      3. 2.2.3 Interrupt Vectors in Flash Devices
      4. 2.2.4 Dual Image Support
        1. 2.2.4.1 Jumping to Application in Dual Image Mode
    3. 2.3 Memory Interface (MI)
      1. 2.3.1 Dual Image Support
    4. 2.4 Communication Interface (CI)
      1. 2.4.1 Physical-DataLink (PHY-DL)
        1. 2.4.1.1 I2C
          1. 2.4.1.1.1 Time-out Detection
        2. 2.4.1.2 UART
        3. 2.4.1.3 SPI
        4. 2.4.1.4 CC110x
        5. 2.4.1.5 Comm Sharing
      2. 2.4.2 NWK-APP
        1. 2.4.2.1 BSL-Based Protocol
          1. 2.4.2.1.1 Security
          2. 2.4.2.1.2 BSL-Based Protocol using CC110x
          3. 2.4.2.1.3 Examples Using I2C
          4. 2.4.2.1.4 Examples Using UART or CC110x
  6. 3Customization of MSPBoot
    1. 3.1 Predefined Customizations
  7. 4Building MSPBoot
    1. 4.1 Starting a New Project
      1. 4.1.1 Creating a New MSPBoot Project
        1. 4.1.1.1 MSPBootProjectCreator.pl
        2. 4.1.1.2 Importing Project Spec File in CCS
        3. 4.1.1.3 Modifying Generated Source Code
          1. 4.1.1.3.1 Modifying MSPBoot Main.c
          2. 4.1.1.3.2 Modifying TI_MSPBoot_Config.h
          3. 4.1.1.3.3 Modifying TI_MSPBoot_CI_PHYDL_xxxx_xxx.c
          4. 4.1.1.3.4 Modifying TI_MSPBoot_AppMgr.c
          5. 4.1.1.3.5 Modifying Application Main.c
          6. 4.1.1.3.6 Modifying TI_MSPBoot_Mgr_Vectors_xxxx.c
      2. 4.1.2 Loading Application Code With MSPBoot
        1. 4.1.2.1 Convert Application Output Images
    2. 4.2 Examples
      1. 4.2.1 LaunchPad Development Kit Hardware
      2. 4.2.2 CC110x Hardware
      3. 4.2.3 Building the Target Project
      4. 4.2.4 Building the Host Project
      5. 4.2.5 Running the Examples
  8. 5References
  9. 6Revision History

Loading Application Code With MSPBoot

When creating custom applications to load onto the MSP430 using MSPBoot, perform the following steps for best results:

  1. Develop the application without using MSPBoot.
    1. This includes creating a project, using the default linker file, and developing code as if a main memory bootloader will not be used.
  2. Once you have developed the application, transfer the code to one of the application templates.
    1. App_Simple: Does not share a communication interface with the bootloader
    2. App_Shared_Comm: Shows how to share a communication interface with the bootloader
  3. Modify the vector redirection file as described in Section 4.1.1.3.6.
  4. Edit the project properties to output a TI-TXT hex format file.
    1. Project Properties → MSP430 Hex Utility → Enable MSP430 Hex Utility
    2. Project Properties → MSP430 Hex Utility → Output Format Options → Output TI-TXT hex format (--ti_txt)
  5. Build the project.
  6. Generate a C file that can be loaded from a host processor using the TI-TXT file found in the project Debug folder (see Section 4.1.2.1).
  7. Load MSPBoot onto the target device.
  8. If the target device is not already executing bootloader code, the target device must be forced to enter the bootloader. This can be done by setting up the application code to jump to the bootloader when a certain command is received. See the examples provided for more information on how to accomplish this.
  9. Load the application C file onto the target device.
    1. See the example host projects included in the accompanying software package for more information.