SLAU319AF
July 2010 – September 2022
Abstract - MSP430™ Flash Devices Bootloader (BSL)
Trademarks
1
Introduction
1.1
Supplementary Online Information
1.2
Overview of BSL Features
1.3
BSL Invocation
1.3.1
Hardware BSL Invocation
1.3.1.1
MSP430 Devices With Shared JTAG Pins
1.3.1.1.1
Factors That Prevent BSL Invocation With Shared JTAG Pins
1.3.1.2
MSP430 Flash Devices With Dedicated JTAG Pins
1.3.1.2.1
Factors That Prevent BSL Invocation With Dedicated JTAG Pins
1.3.1.3
Devices With USB
1.3.2
Software BSL Invocation
1.4
UART Protocol
1.5
USB Protocol
2
Bootloader Protocol – 1xx, 2xx, and 4xx Families
2.1
Synchronization Sequence
2.2
Commands
2.2.1
Unprotected Commands
2.2.2
Password Protected Commands
2.3
Programming Flow
2.4
Data Frame
2.4.1
Data-Stream Structure
2.4.2
Checksum
2.4.3
Example Sequence
2.4.4
Commands – Detailed Description
2.4.4.1
General
2.4.4.2
RX Data Block
2.4.4.3
RX Password
2.4.4.4
Mass Erase
2.4.4.5
Erase Segment
2.4.4.6
Erase Main or Info
2.4.4.7
Erase Check
2.4.4.8
Change Baud Rate
2.4.4.9
Set Memory Offset
2.4.4.10
Load PC
2.4.4.11
TX Data Block
2.4.4.12
TX BSL Version
2.5
Loadable BSL
2.6
Exiting the BSL
2.7
Password Protection
2.8
Code Protection Fuse
2.9
BSL Internal Settings and Resources
2.9.1
Chip Identification and BSL Version
2.9.2
Vectors to Call the BSL Externally
2.9.3
Initialization Status
2.9.4
Memory Allocation and Resources
3
Bootloader Protocol – F5xx and F6xx Families
3.1
BSL Data Packet
3.2
UART Peripheral Interface (PI)
3.2.1
Wrapper
3.2.2
Abbreviations
3.2.3
Messages
3.2.4
Interface Specific Commands
3.2.4.1
Change Baud Rate
3.3
I2C Peripheral Interface
3.3.1
I2C Protocol Definition
3.3.2
Basic Protocol With Byte Level Acknowledge
3.3.3
I2C Protocol for BSL - Read From Slave
3.3.4
Acknowledge (ACK)
3.3.5
Wrapper
3.4
USB Peripheral Interface
3.4.1
Wrapper
3.4.2
Hardware Requirements
3.5
BSL Core Command Structure
3.5.1
Abbreviations
3.5.2
Command Descriptions
3.6
BSL Security
3.6.1
Protected Commands
3.6.2
RAM Erase
3.7
BSL Core Responses
3.7.1
Abbreviations
3.7.2
BSL Core Messages
3.7.3
BSL Version Number
3.7.4
Example Sequences for UART BSL
3.8
BSL Public Functions and Z-Area
3.8.1
Starting the BSL From an External Application
3.8.2
Return to BSL Function Description
4
Bootloader Hardware
4.1
Hardware Description
4.1.1
Power Supply
4.1.2
Serial Interface
4.1.2.1
Level Shifting
4.1.2.2
Control of RST/NMI and TEST or TCK Pins
4.1.3
Target Connector
4.1.4
Parts List
5
Differences Between Devices and Bootloader Versions
5.1
1xx, 2xx, and 4xx BSL Versions
5.2
Special Consideration for ROM BSL Version 1.10
5.3
1xx, 2xx, and 4xx BSL Known Issues
5.4
Special Note on the MSP430F14x Device Family BSL
5.5
F5xx and F6xx Flash-Based BSL Versions
6
Bootloader PCB Layout Suggestion
7
Revision History
3.4
USB Peripheral Interface