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

BSL Interface Pins (BLINTERFACE_PINS)

The BLINTERFACE_PINS structure configures the physical pins and pin function multiplexer selections for the BSL communication interfaces (UART, I2C, or MCAN). This configuration allows the BSL to use specific pins for communication with the host.

UART Interface Pins (0x60101804)

Table 2-1 UART Interface Pin Configuration
NM1 Address NM1 Address [31:24] NM1 Address [23:16] NM1 Address [15:8] NM1 Address [7:0]
0x60101804 UART_TXD_PF[7:0] UART_TXD_PAD[7:0] UART_RXD_PF[7:0] UART_RXD_PAD[7:0]
Note: ONLY pins with the UNICOMM4 (UC4) instance can be used for UART communication with the BSL.
Table 2-2 UART Interface Data Structure
Parameter Type Description Default Value (Hex) Device Implementation
UART_TXD_PF_mux_sel uint8_t Pad mux value for UC4 UART TX 0x07 MuxMode 7: UC4_TX_SDA_PICO
UART_TXD_pad_num uint8_t Physical pin number for UC4 UART TX 0x00 PA0
UART_RXD_PF_mux_sel uint8_t Pad mux value for UC4 UART RX 0x07 MuxMode 7: UC4_RX_SDA_PICO
UART_RXD_pad_num uint8_t Physical pin number for UC4 UART TX 0x01 PA1

I2C Interface Pins (0x60101808)

Table 2-3 I2C Interface Pin Configuration
NM1 Address NM1 Address [31:24] NM1 Address [23:16] NM1 Address [15:8] NM1 Address [7:0]
0x60101808 I2C_SCL_PF[7:0] I2C_SCL_PAD[7:0] I2C_SDA_PF[7:0] I2C_SDA_PAD[7:0]
Note: ONLY pins with the UNICOMM2 (UC2) instance can be used for I2C communication with the BSL.
Table 2-4 I2C Interface Data Structure
Parameter Type Description Default Value (Hex) Device Implementation
I2C_SCL_PF_mux_sel uint8_t Pad mux value for UC2 I2C SCL 0x04 MuxMode 4: UC2_RX_SCL
I2C_SCL_pad_num uint8_t Physical pin number for UC2 I2C SCL 0x17 PA23
I2C_SDA_PF_mux_sel uint8_t Pad mux value for UC2 I2C SDA 0x04 MuxMode 4: UC2_TX_SDA
I2C_SDA_pad_num uint8_t Physical pin number for UC2 I2C SDA 0x16 PA22

MCAN Interface Pins (0x6010180C)

Table 2-5 MCAN Interface Pin Configuration
NM1 Address NM1 Address [31:24] NM1 Address [23:16] NM1 Address [15:8] NM1 Address [7:0]
0x6010180C CAN_TXD_PF[7:0] CAN_TXD_PAD[7:0] CAN_RXD_PF[7:0] CAN_RXD_PAD[7:0]
Note: ONLY pins with the MCAN0 instance can be used for I2C communication with the BSL.
Table 2-6 MCAN Interface Data Structure
Parameter Type Description Default Value (Hex) Device Implementation
MCAN_TX_PF_mux_sel uint8_t Pad mux value for MCAN0 TX 0x0A MuxMode 10: MCAN0_TX
MCAN_TX_pad_num uint8_t Physical pin number for MCAN0 TX 0x0C PA12
MCAN_RX_PF_mux_sel uint8_t Pad mux value for MCAN0 RX 0x0A MuxMode 10: MCAN0_RX
MCAN_RX_pad_num uint8_t Physical pin number for MCAN0 RX 0x0B PA11