This application note describes the implementation of a bootloader that resides in the main memory of MSP430™ flash-based microcontrollers (MCUs) using either Inter-Integrated Circuit (I2C), universal asynchronous receiver/transmitter (UART), or a serial peripheral interface (SPI) bus and CC110x RF transceivers to accomplish over-the-air download (OAD). While highly flexible and modular, this bootloader has a small footprint, which makes it a very cost-effective solution, and supports the large memory model (devices with a memory footprint greater than 64KB).
A software package that includes examples and source code for both host and target devices can be downloaded from the following URL: https://www.ti.com/tool/download/MSPBOOT
For a step-by-step procedure that explains how to run the examples, see Section 4.2.5.
Do not confuse this bootloader with the MSP430 Bootloader (BSL), which resides in protected memory (ROM or flash) in some MSP430 MCUs. For more information on the MSP430 BSL, see the MSP430™ Flash Device Bootloader (BSL) User's Guide and Creating a Custom Flash-Based Bootloader (BSL).
MSP430™, Code Composer Studio™, LaunchPad™, and BoosterPack™ are trademarks of Texas Instruments.
All trademarks are the property of their respective owners.
MSP430 MCUs are equipped with the useful Bootloader (BSL) that allows for a very simple way to do field upgrades. For more information about the MSP430 BSL, see the MSP430™ Flash Device Bootloader (BSL) User's Guide and Creating a Custom Flash-Based Bootloader (BSL). The BSL is customizable in MSP430F5xx and MSP430F6xx devices, because it resides in flash.
Other families (for example, MSP430G2xx) have a ROM-resident BSL that supports only UART and cannot be modified to support I2C or other interfaces. Given these limitations, it becomes necessary to create a bootloader that resides in main memory and allows for an easy implementation of the application.
This application report describes the implementation of the bootloader named MSPBoot with the following characteristics:
Source code for the bootloader with different sample configurations, application examples, and host examples is included to allow for an easy testing, customization, and implementation. Knowledge of I2C, UART, and SPI specifications, as well as sub-1 GHz RF communication protocol, is assumed.