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

UART Baud Rate

The UART_BAUD_RATE field specifies the default baud rate used for UART communication in the BSL. This determines the communication speed when using the UART interface for BSL operations.

Table 2-17 UART_BAUD_RATE
NM1 Address NM1 Address [31:24] NM1 Address [23:16]
0x6010183C UART_BAUD_RATE[15:8] UART_BAUD_RATE[7:0]
Table 2-18 UART_BAUD_RATE Data Structure
Parameter Type Description Valid Values Default Value
UART_BAUD_RATE uint16_t UART Baud rate for ROM BSL See Table 2-19 0x2 (9600bps)
Table 2-19 UART_BAUD_RATE Valid Values
Macro Value Implementation
BL_CFG_UART_BAUDRATE_4800 0x1 4800bps
BL_CFG_UART_BAUDRATE_9600 0x2 9600bps
BL_CFG_UART_BAUDRATE_19200 0x3 19200bps
BL_CFG_UART_BAUDRATE_38400 0x4 38400bps
BL_CFG_UART_BAUDRATE_57600 0x5 57600bps
BL_CFG_UART_BAUDRATE_115200 0x6 115200bps
BL_CFG_UART_BAUDRATE_1000000 0x7 1000000bps
BL_CFG_UART_BAUDRATE_2000000 0x8 2000000bps
BL_CFG_UART_BAUDRATE_3000000 0x9 3000000bps
BL_CFG_UART_BAUDRATE_4000000 0x10 4000000bps
All other values 9600bps

Changing the Baud Rate

There are two ways to change the UART baud rate:

  1. Permanent Change: Modify the UART_BAUD_RATE field in the BSL configuration using the methods described in Section 2.5. This changes the default baud rate used whenever the BSL is invoked.
  2. Runtime Change: Use the Change Baud Rate command (CMD_CHANGE_BAUD_RATE, 0x52) during a BSL session to temporarily change the baud rate. This change is effective only for the current BSL session and reverts to the default value when the device is reset.

Note: When using the UART interface for BSL communication, both the host and the device must be configured to use the same baud rate. If the baud rate is changed using the Change Baud Rate command, the host must also change the baud rate to match.