SLUUDI8 March   2026 AM13E23019

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
    1. 1.1 Overview of BSL Features
    2. 1.2 Terminology
    3. 1.3 Additional Resources
  5. 2BSL Architecture
    1. 2.1 Design
      1. 2.1.1 Timeout Feature
        1. 2.1.1.1 Interface Autodetection
        2. 2.1.1.2 Command Reception
    2. 2.2 BSL Invocation
      1. 2.2.1 Application Request
      2. 2.2.2 GPIO Based Invocation
      3. 2.2.3 Debug Mailbox Command
      4. 2.2.4 Other BSL Invocation Methods
        1. 2.2.4.1 Pre-Boot Application Verification
        2. 2.2.4.2 Blank Device Handling
    3. 2.3 Memory
      1. 2.3.1 SRAM Memory Usage
    4. 2.4 BSL NONMAIN Configuration
      1. 2.4.1  BSL Configuration ID
      2. 2.4.2  BSL Interface Pins (BLINTERFACE_PINS)
      3. 2.4.3  BSL Invoke Pin Configuration (BSLPIN_INVOKE)
      4. 2.4.4  Memory Readout Configuration
      5. 2.4.5  BSL Password
      6. 2.4.6  Application Revision Pointer
      7. 2.4.7  Security Alert Level
      8. 2.4.8  UART Baud Rate
      9. 2.4.9  I2C Target Address
      10. 2.4.10 Configuration CRC
    5. 2.5 Changing BSL Configuration
      1. 2.5.1 Using BSL Commands
      2. 2.5.2 Using Debug Interface
  6. 3Bootloader Protocol
    1. 3.1 Packet Format
    2. 3.2 BSL Protocol
      1. 3.2.1 BSL Acknowledgment
      2. 3.2.2 Peripheral Configuration
        1. 3.2.2.1 UART
        2. 3.2.2.2 I2C
        3. 3.2.2.3 MCAN
        4. 3.2.2.4 CRC
    3. 3.3 Bootloader Core Commands
      1. 3.3.1  Connection
      2. 3.3.2  Get Device Info
      3. 3.3.3  Unlock Bootloader
      4. 3.3.4  Program Data
      5. 3.3.5  Program Data Fast
      6. 3.3.6  Readback Data
      7. 3.3.7  Flash Range Erase
      8. 3.3.8  Mass Erase
      9. 3.3.9  Factory Reset
      10. 3.3.10 Standalone Verification
      11. 3.3.11 Start Application
      12. 3.3.12 Change Baud Rate
    4. 3.4 Bootloader Core Response
      1. 3.4.1 BSL Core Message
      2. 3.4.2 Detailed Error
      3. 3.4.3 Memory Readback
      4. 3.4.4 Device Info
      5. 3.4.5 Standalone Verification
    5. 3.5 Bootloader Security
      1. 3.5.1 Password Protected Commands
        1. 3.5.1.1 Security Alert
      2. 3.5.2 BSL Entry
  7. 4Sample Program Flow with Bootloader
  8. 5Revision History

Program Data

Structure

Header

Length

CMD

Address

Data

CRC32

0x80

L1

L2

0x20

A1...A4

D1...Dn

C1

C2

C3

C4

Description

This command is used to program data to a specific memory address. The data can be programmed to MAIN or NONMAIN flash memory.
Important Requirements:
  • The start address must be 16-byte aligned (address % 16 == 0)
  • The data length must be 16-byte aligned (length % 16 == 0)
  • For programming to NONMAIN flash memory, Factory Reset must be enabled in the BCR configuration

Protected

Yes

Address

Start address of the memory region to be programmed. A1...A4, where A1 is the Least Significant Byte of the 32 bit address.

Data

Data bytes to be written in the specified address. Maximum size of the data that can be sent is limited by the Buffer size of the device. Buffer size is known from Get Device Info command .

Command Returns

BSL Acknowledgment and BSL core response with Message about the Status of the operation. See section Section 3.4.1 for more details.

Example

Host: 80 0D 00 20 00 00 00 00 00 00 00 04 00 00 00 08 7A DC AE B8

BSL: 00 08 02 00 3B 00 38 02 94 82