SLAAE88B December   2022  – March 2024 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3106 , MSPM0G3107 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0L1105 , MSPM0L1106 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
    1. 1.1 Bootloader Introduction
      1. 1.1.1 Bootloader Concept
      2. 1.1.2 MSPM0 Bootloader Structure
        1. 1.1.2.1 ROM-Based BSL
        2. 1.1.2.2 ROM-Based BSL With Flash-Based Plug-In Interface
        3. 1.1.2.3 Flash-Based Secondary BSL
      3. 1.1.3 MSPM0 BSL Features and Demos Summary
    2. 1.2 BSL Host Implementation Summary
  5. 2BSL Configuration in Non-Main (Configuration NVM)
    1. 2.1 Non-Main Introduction
    2. 2.2 Example – Disable PA18 BSL Invoke Pin With Sysconfig
  6. 3Bootloader Host
    1. 3.1 MCU Host Code Introduction
      1. 3.1.1 Hardware Connection
      2. 3.1.2 TXT to Header File Conversion
      3. 3.1.3 Step-by-Step Using the Demo
    2. 3.2 PC Host Example
      1. 3.2.1 Prepare the Image File and Password File
      2. 3.2.2 Steps to Using the GUI
  7. 4Bootloader Target
    1. 4.1 Default ROM-Based BSL
      1. 4.1.1 UART Interface
      2. 4.1.2 I2C Interface
    2. 4.2 Flash-Based Plug-In Interface Demos
      1. 4.2.1 UART Interface
        1. 4.2.1.1 Step by step using the demo
        2. 4.2.1.2 How to Debug the Plug-In Interface Code
      2. 4.2.2 I2C Interface
      3. 4.2.3 SPI Interface
      4. 4.2.4 CAN Interface
    3. 4.3 Secondary BSL Demo
      1. 4.3.1 Flash-Based Secondary BSL Start From 0x1000
      2. 4.3.2 Live Firmware Update (LFU) Solution
  8. 5Common Questions
    1. 5.1 Linker File Modification
    2. 5.2 Factory Reset by CCS to Recover Device
  9. 6References
  10.   Revision History

Non-Main Introduction

There are three different kind of Flash memories in MSPM0 devices.

Table 2-1 Flash Memory Regions
Flash Memory Region Region Contents Executable Used by Programmed by
FACTORY Device ID and other parameters No Application TI only(not modifiable)
NON-MAIN Device boot configuration (BCR and BSL) No Boot ROM TI, User
MAIN Application code and data Yes Application User

The NON-MAIN is a dedicated region of Flash memory that stores the configuration data used by the BCR and BSL to boot the device. The region is not used for any other purpose. The BCR and BSL both have configuration policies that can be left at their default values (as is typical during development and evaluation), or modified for specific purposes (as is typical during production programming) by altering the values programmed into the NON-MAIN flash region.

Table 2-2 NON-MAIN Region Overview
NON-MAIN Section Start Address End Address
BCR Configuration 41C0.0000h 41C0.005Bh
BCR Configuration CRC 41C0.005Ch 41C0.005Fh
BSL Configuration 41C0.0100h 41C0.0153h
BSL Configuration CRC 41C0.0154h 41C0.0157h

The main BSL parameters can be configured in Table 2-3.

Table 2-3 NON-MAIN Flash BSL Configuration Main Parameters
Parameters Using Case Parameters Description
Common BSLCONFIGID BSL configuration ID
BSLPW 256-bit BSL access password. (Optional for secondary BSL)
BSLCONFIG0 BSL invoke pin configuration and memory read-out policy. (For memory read-out policy is optional for secondary BSL)
BSLAPPVER Address of the application version word.
BSLCONFIG1 BSL security configuration.(Optional for secondary BSL)
BSLCRC CRC digest (CRC-32) of the BSL_CONFIG portion of the NON-MAIN memory.
ROM-Based BSL BSLPINCFG0 BSL UART pin configuration
BSLPINCFG1 BSL I2C pin configuration
ROM-Based BSL with Flash based Plug-in interface BSLPLUGINCFG Defines the presence and type of a BSL plug-in in MAIN Flash memory.
BSLPLUGINHOOK Function pointers for plug-in init, receive, transmit, and de-init functions
Flash-Based Secondary BSL PATCHHOOKID Alternate BSL configuration
SBLADDRESS Address of an alternate BSL.

For more details about the NON-MAIN flash, see the MSPM0 L-Series 32-MHz Microcontrollers Technical Reference Manual or MSPM0 G-Series 80-MHz Microcontrollers Technical Reference Manual