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