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

Configuration CRC

The CRC field contains a 32-bit Cyclic Redundancy Check value calculated over the entire BSL configuration structure (excluding the CRC field). This value is used to verify the integrity of the configuration data.

Table 2-22 CRC
NM1 Address NM1 Address [31:24] NM1 Address [23:16] NM1 Address [15:8] NM1 Address [7:0]
0x60101850 CRC[31:24] CRC[23:16] CRC[15:8] CRC[7:0]
Table 2-23 CRC Data Structure
Parameter Type Description Default Value
CRC uint32_t CRC of the BSL_CONFIG structure 0x5A9EA486

Default Value: 0x5A9EA486 (calculated based on default configuration values)

Valid Values: Calculated value based on the contents of the BSL configuration

The CRC field serves several important purposes:

  1. Data Integrity Verification: Verifies that the BSL configuration data has not been corrupted or accidentally modified.
  2. Validation of Configuration: Confirms that the BSL configuration structure is valid and complete.
  3. Protection Against Errors: Helps prevent the BSL from using incorrect configuration values that can lead to unexpected behavior.

The CRC must be recalculated whenever any field in the BSL configuration is modified. This includes:

  1. Initial Configuration: When the BSL configuration is first created or programmed.
  2. Configuration Updates: When any field in the configuration is changed.
  3. Factory Reset: After a factory reset, a new CRC is calculated for the default configuration.

An incorrect CRC in the BSL configuration results in permanent lockout due to causing a catastrophic error that is unrecoverable.

Note: When using tools like CCS to modify the BSL configuration, the CRC is typically calculated and updated automatically. However, when manually modifying the configuration using BSL commands or other methods, you must confirm that the CRC is correctly recalculated to avoid permanently damaging the device.