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

MSPBootProjectCreator.pl

MSPBootProjectCreator: Generates all bootloader and application source files necessary to start creating an MSPBoot project in CCS.

Note:

A Perl interpreter is required to run this script. Visit https://www.perl.org/ to download an interpreter if needed.

Location: Utilities/Project Creator/MSPBootProjectCreator.pl

Syntax:

[] denotes an optional field
All numbers should be in hexadecimal format
MSPBootProjectCreator.pl 
                    [-help]
                    -hdr <header_file>
                    -lnk_file <lnk_msp430.cmd>
                    [-boot_size <size>]
                    [-shared_vectors <number>]
                    [-dual_image]
                    [-I2C]
                    [-UART]

Where (all numbers are hex values):

  • -hdr <header_file> = Specifies the header file for the MSP430 device variant. Needs to be in the same directory as MSPBootProjectCreator.pl. The default path to this file is C:\ti\ccsvx\ccs_base\msp430\include, where ccsvx is the ccs version being used.
  • -lnk_file <lnk_msp430.cmd> = Specifies the default linker file for the device being used. Needs to be in the same directory as MSPBootProjectCreator.pl. The default path to this file is C:\ti\ccsvx\ccs_base\msp430\include, where ccsvx is the ccs version being used.
  • -boot_size <size> = Optional parameter. Specifies the size of the bootloader area. Only increments of 0x400 are allowed. If omitted, the default bootloader size will be used.
  • -shared_vectors <number> = Optional parameter. Specifies the number of shared vectors (in hex). If not specified, default value is 3 vectors.
  • -dual_image = Optional parameter. Specifies that the files created should enable a dual image bootloader. If not specified, single image is assumed.
  • -I2C, -UART = Specifies the communication interface for the bootloader. One of these must be specified.
Note:

SPI with CC110x is not supported when using the generator script because it has many device specific dependencies. If trying to develop an OAD application, see the examples provided in the accompanying software package.

GUID-D1D2659E-0412-4691-8DEB-6DE101D82015-low.pngFigure 4-1 Example Command

This script uses templates that are located in the Linker_Templates, Vector_Templates, and ProjectSpec_Templates folders. The contents of these templates can be modified as needed but they are required to run the script. This script also uses the code located in the Src folder. Again, the contents of these files can be modified as needed, but their names and file paths must remain the same for proper operation of the script.