SLAA721E October   2016  – March 2020 MSP430FR5969 , MSP430FR5969-SP , MSP430FR5994 , MSP430FR6989

 

  1.   Trademarks
  2. 1Introduction
    1. 1.1 Glossary
    2. 1.2 Conventions
  3. 2Implementation
    1. 2.1 Main
    2. 2.2 Application Manager
      1. 2.2.1 Bootloader and Application Detection
        1. 2.2.1.1 Forcing Bootloader Mode
        2. 2.2.1.2 Application Validation
        3. 2.2.1.3 Jumping to Application
      2. 2.2.2 Memory Assignment
      3. 2.2.3 Interrupt Vectors in FRAM Devices
    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 UART
        2. 2.4.1.2 SPI
        3. 2.4.1.3 CC110x
        4. 2.4.1.4 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 UART or CC110x
  4. 3Customization of MSP430FRBoot
    1. 3.1 Predefined Customizations
  5. 4Building MSPBoot
    1. 4.1 LaunchPad™ Development Kit Hardware
    2. 4.2 CC110x Hardware
    3. 4.3 Software
      1. 4.3.1 Building the Target Software
      2. 4.3.2 Convert Application Output Images
      3. 4.3.3 Generating Linker Files
  6. 5Demo Using FRAM LaunchPad Development Kit as Host
    1. 5.1 Hardware
    2. 5.2 Building the Host Project
    3. 5.3 Running the Demo
  7. 6Porting the target side example projects to other MSP430FR devices
  8. 7References
  9. 8Revision History

Customization of MSP430FRBoot

MSPBoot was designed with low cost and low footprint being top priorities; however, some applications require or can benefit from having a higher level of security and robustness. Based on the application requirements, different levels of customizations have been added to the MSP430FRBoot code and they can be adjusted to particular needs. These options are selected either by adding the appropriate files or by enabling or disabling preprocessor definitions. Table 3-1 list the options that can be configured in TI_MSPBoot_Config.h.

Table 3-1 Optional Configurations
Value Description
NDEBUG
Defined ASSERT_H functions are ignored. Watchdog is enabled.
Undefined Used during debugging. ASSERT_H functions are checked. Watchdog is disabled.
CONFIG_MI_MEMORY_RANGE_CHECK
Defined The address being erased or programmed is validated to be within the Application area.
Undefined Address being erased or programmed is not validated. Host must send correct address.
CONFIG_APPMGR_APP_VALIDATE
1 Application is validated by checking its reset vector.
2 Application is validated by checking its CRC_CCITT.
CONFIG_CI_PHYDL_COMM_SHARED
Defined Communication Interface PHY-DL layer is shared with application.
Undefined CI PHY-DL is not shared with application.
CONFIG_CI_PHYDL_TIMEOUT
Defined Detect time-out in CI PHY-DL.
Undefined CI PHY-DL does not detect time-out.
CONFIG_CI_PHYDL_ERROR_CALLBACK
Defined A callback function is called when a time-out error is detected.
Undefined A callback function is not called when a time-out is detected.

Other customizations are selected by adding and using the appropriate files in the project. Table 3-2 lists the files that are interchangeable in the project.

Table 3-2 Customization Files
FileComments
CI PHY-DL
TI_MSPBoot_CI_PHYDL_USCI_UART.cUse eUSCI as UART
TI_MSPBoot_CI_PHYDL_CC1101.cUse CC110x
MI
TI_MSPBoot_MI_FRAM.cAPI used to program application FRAM
TI_MSPBoot_MI_FRAMDualImg.cAPI implementing dual image in FRAM
App Manager
TI_MSPBoot_AppMgr.cStandard App Manager
TI_MSPBoot_AppMgrDualImg.cApp Manager that supports dual image