SLAAEC9 july   2023 MSPM0L1306 , MSPM0L1306

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2LFU Bootloader Features Overview
  6. 3Hardware and Software Setup
    1. 3.1 Hardware Requirement
    2. 3.2 Software Setup
  7. 4LFU Bootloader Implementation
    1. 4.1 LFU Bootloader and Application Projects
    2. 4.2 Memory Allocation
    3. 4.3 LFU Bootloader Implemented
    4. 4.4 LFU Application Code Implementation
      1. 4.4.1 The Linker Command File for Application
      2. 4.4.2 Peripheral and Interrupt Initialization
      3. 4.4.3 Debug for Application Project
    5. 4.5 Invoke Firmware Upgrade Process
  8. 5Host GUI Tool Introduction
    1. 5.1 LFU Firmware Update
    2. 5.2 Application Project Link Files Generation
    3. 5.3 Non-Main Flash Configuration Firmware Generation
      1. 5.3.1 Steps to Generate the Non-Main Flash Configuration Firmware
      2. 5.3.2 UNIFLASH Tool to Program the NONMAIN Flash Configuration Data
  9. 6LFU Bootloader Protocol
    1. 6.1 Packet Format and Core Commands
    2. 6.2 Special Commands in LFU Bootloader
    3. 6.3 Host Device Firmware Upgrade Flow
  10. 7Migration to Other MSPM0 Devices
  11. 8References

Special Commands in LFU Bootloader

There are some special commands different from the ROM-based BSL commands, they are one-byte commands and are listed in Table 6-2.

Table 6-2 LFU BSL Special Commands
LFU BSL Special Commands Packet Response (package format)
Get App state 0x55 Yes (8 bytes: 0x51 + app state flag (1 byte) + app1 area start address (3 bytes) + app2 area start address (3 bytes) )
Resume bootloader task 0xAA Yes (1 byte: 0xBB)
  • Get App state command:

    This command is used to get the application code execution status, to see if application code 1 or application code 2 is executed, or no application code in the device. Table 6-3 describes the application state flags.

    Table 6-3 Application State Flags
    Variable Value Description
    App state flag 0 No application running
    1 App1(application in app1 area) is running
    2 App2(application in app2 area) is running

    This command also returns the start address of application space 1 and space 2. This information can be used to do system integrity verification before starting firmware upgrade process

  • Resume bootloader task command:

    Bootloader task is suspended when device is executing application code, this command is used to force bootloader task back to active status before starting firmware upgrade process.