Bootloader (BSL) for MSP low-power microcontrollers

(ACTIVE) MSPBSL

Description & Features

Technical Documents

Support & Training

Order Now



Description

Below are the steps needed in order to both understand and use the MSPBSL effectively across the MSP portfolio. For the most up to date information on what features the BSL on your device supports or which interface methods are needed to communicate with the BSL, please see “TABLE 1. Overview of BSL Features” which is contained within the BSL User Guides linked to in STEP 1.

 

STEP 1: Understanding the MSP Bootloader (BSL)

Some applications require a customized bootloader to meet requirements outside of the BSL provided. Additionally, some MSP MCUs, such as the MSP430F5xxx, MSP430F6xxx and SimpleLink MSP432 MCU families, allow the user to customize the factory programmed BSL; however, most devices have a BSL in ROM that cannot be changed. For these devices an alternative BSL solution such as a main memory bootloader would need to be used to customize the boot loading process

 

STEP 2: Updating Application Firmware with the MSP BSL

Once a basic understanding of the BSL is achieved, one will want to communicate and/or program a device using the BSL. This can be done in several ways outlined below.

Communication Bridge – Hardware for BSL to PC Connection

In order to connect the MSP430 MCU's BSL to a PC, some additional hardware may be needed. The following are a few options for connecting the MSP430 BSL to a PC.

The MSP430-BSL Programmer ("BSL Rocket") is a bridge between the MSP430 BSL and a USB connection to a PC. The MSP430-BSL Rocket is a collaboration between Olimex LTD and Texas Instruments. The MSP430-BSL Programmer’s PCB and firmware are open source, and it supports UART, I2C and SPI communication.


The MSP-FET programmer and debugger also supports BSL interfaces for programming.

The MSP-GANG Production Programmer can program up to eight MCUs at the same time also supports the UART BSL interface.


A USB design on a custom board may also be used to access the USB BSL on MSP430 MCU devices that contain a USB peripheral. A Python-based GUI is also provided to help with USB BSL firmware upgrades on MSP430 devices. This software is part of the USB developer’s package linked below.


BSL Scripter – PC Side Software

The BSL Scripter is a command line program used to communicate with the MSP430 MCU BSL on a PC operating Windows®, Linux® and macOS® X through a communication bridge. Supported communication bridges include the MSP-BSL programmer ("BSL Rocket"), the MSP-FET, and the USB BSL on certain MSP430 flash-based devices. See the BSL Scripter User Guide for more information on how to use this program. Within the BSL Scripter Software download, BSLDEMO2 (deprecated command line tool for BSL) is also included for older devices not supported by the BSL Scripter.


Embedded Programming Solutions

Some applications do not have access to a PC for programming an MSP430 MCU via BSL. A Host BSL driver can be easily written to use the MSP430 BSL protocol over UART, I2C, or USB. The following application notes demonstrate this capability. Custom solutions for a chosen embedded host should follow the BSL protocol found within the BSL User’s Guides in step 1.

MSP430™ Bootloader With SimpleLink™ MCUs is the Apps note that provides the software to have embedded host for MSP430 bootloader. The project based on the host being implemented using SimpleLink MSP432P4 MCU. MSP430™ Bootloader With Sitara™ Embedded Linux Host is the Apps note that provides the software to have embedded host for MSP430 bootloader. The project based on the host being implemented using Sitara Embedded Linux Host.

 

STEP 3: Customizing the MSP BSL

Some applications require a customized bootloader to meet requirements outside of the BSL provided. Additionally, some MSP MCUs, such as the MSP430F5xxx, MSP430F6xxx and SimpleLink MSP432 MCU families, allow the user to customize the factory programmed BSL; however, most devices have a BSL in ROM that cannot be changed.

Custom BSL Documentation

On the flash based MSP430F5xxx and MSP430F6xxx MCU families, developers can change the BSL source code to add different peripheral interfaces, custom entry sequences, or other custom features to the standard BSL. Use the BSL source code linked below for reference when customizing the BSL.  All available BSL firmware images and BSL source code are contained within the BSL430-SOURCE software package. BSL source code is only available for the most recent BSL version.

A similar download for SimpleLink MSP432P4xx MCUs is available.

Source code for MSP432E4 MCUs is available within the SimpleLink MSP432E4 SDK

Main Memory BSLs

MSP430 MCUs have two different main memory (application-side) BSLs that can be customized to an application's needs. These solutions do not replace the BSL that is included with the device, but sit on top of the application software in order to customize a BSL.

For flash-based MSP430 MCUs, MSPBOOT is offered:

For FRAM-based MSP430 MCUs, MSPFRBOOT is the offered featuring an over-the-air update option:

Secure Firmware Updates


Some applications are in need of secure firmware updates. The following has been made available for these situations.

The Crypto-Bootloader (CryptoBSL) is a custom bootloader that was developed and implemented on MSP430FR59xx and MSP430FR69xx FRAM microcontrollers. This bootloader uses cryptographic functions to enable increased security for in-field firmware updates.


Technical Documents
Application notes (6)
Title Abstract Type Size (KB) Date Views
PDF 1535 24 Jul 2018 42
PDF 847 28 Feb 2018 42
Multiple Files   19 Dec 2017 23
Multiple Files   15 Aug 2017 18
Multiple Files   15 Aug 2017 9
PDF 223 17 Nov 2015 15
User guides (6)
Title Abstract Type Size (KB) Date Views
PDF 418 24 Jul 2018 263
PDF 2627 07 May 2018 64
PDF 270 04 May 2018 115
PDF 4595 12 Dec 2017 63
PDF 531 02 Nov 2017 24
PDF 2428 17 Nov 2015 23
White papers (1)
Title Abstract Type Size (KB) Date Views
PDF 1251 19 Aug 2015 7

Software (3)

Name Part Number Software Type
MSP430Ware for MSP Microcontrollers  MSPWARE  Software Development Kits (SDK) 
SimpleLink MSP432 Software Development Kit (SDK)  SIMPLELINK-MSP432-SDK  Software Development Kits (SDK) 
MSP430 USB Developers Package  MSP430USBDEVPACK  Software Libraries 

Development Tools (3)

Name Part Number Tool Type
MSP MCU Programmer and Debugger  MSP-FET  Flash Programming Tools 
MSP-GANG Production Programmer  MSP-GANG  Flash Programming Tools 
Code Composer Studio™ Integrated Development Environment for MSP Microcontrollers  CCSTUDIO-MSP  SW Development Tools, IDEs, Compilers 

Support & Training

Try our support forums.
Search expert answers for this part Ask a new question

Content is provided 'AS IS' by the respective TI and Community contributors and does not constitute TI specifications.
See terms of use.

Blogs