SLAAE88D December 2022 – September 2025 MSPM0C1105 , MSPM0C1106 , MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3106 , MSPM0G3107 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0H3216 , MSPM0L1105 , MSPM0L1106 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
| Device Family | M0C1104/3 | M0C1106/5 M0H3216/5 | MSPM0L | MSPM0G | |
|---|---|---|---|---|---|
| BSL General | BSL memory type | Flash | Flash | ROM | ROM |
| BSL memory size | >3.5K | >3.9K | 5K | 5K | |
| User configuration in Non-main flash | ✔ | ✔ | ✔ | ✔ | |
| UART | ✔ | ✔ | ✔ | ✔ | |
| I2C | ✔ | ✔ | ✔ | ✔ | |
| Plug-In interface demos | UART | ✔ | ✔ | ||
| I2C | ✔ | ✔ | |||
| SPI | ✔ | ✔ | |||
| CAN | ✔ | ||||
| BSL Invoke | GPIO Invoke | ✔ | ✔ | ✔ | ✔ |
| Blank device detection | ✔ | ✔ | ✔ | ✔ | |
| Software Invoke | ✔ | ✔ | ✔ | ✔ | |
| Invoke detection in ROM support | ✔ | ✔ | ✔ | ||
| Hardware Tools | XDS110 with UART | ✔ | ✔ | ✔ | ✔ |
| Software Tools | MSPM0_BSL_GUI in SDK | ✔ | ✔ | ✔ | ✔ |
| Uniflash | ✔ | ✔ | |||
| Security | 256 bits password protected | ✔ | ✔ | ✔ | ✔ |
There are some BSL code examples in the SDK and can be summarized, as shown in Table 1-4.
| Demo Type | Demo Name | Using Case | |
|---|---|---|---|
| Target side demos | Plug-in interface demos | bsl_spi_flash_interface | When ROM-based communication interface configuration or type not meet with requirement (need UART1 module as interface or need SPI) and TI’s default BSL protocol can be used |
| bsl_uart_flash_interface | |||
| bsl_i2c_flash_interface | |||
| bsl_can_flash_interface | |||
| Secondary BSL demo | secondary_bsl (uart/i2c/spi/can) flash_bsl(for MSPM0C) |
When TI’s default BSL protocol cannot meet with requirements, this re-used the same trigger condition of ROM-based BSL except the flash_bsl demo for MSPM0C. | |
| Application demo | bsl_software_invoke_app_demo (uart/i2c/spi/can) | Application example code can be co-work with ROM-based BSL or flash-based secondary BSL demo or flash-based interface plug-in demos, this also include software trigger function. | |
| Host side demos | MCU or processor as host | bsl_host_mcu_to_m0x_target (uart/i2c/spi/can) | When MCU or processor as host and follow TI’s default BSL protocol. This can be used with ROM BSL and default secondary BSL demos. |
| PC as host | MSPM0_BSL_GUI/Uniflash | When PC as host with UART and follow TI’s default BSL protocol. That means this can be used for ROM based UART BSL or default UART plug-in interface demo or default secondary BSL UART demo. |
| Target side | Host side | |||
|---|---|---|---|---|
| Memory location | BSL code demo | Application code demo | MCU/Processor Host | |
| ROM BSL | ROM | / | bsl_software_invoke_app_demo (uart/i2c/spi/can) | bsl_host_mcu_to_m0x_target (uart/i2c/spi/can) |
| Plug-In interface demos | Main Flash (Need co-work with ROM BSL) | bsl_spi_flash_interface | ||
| bsl_uart_flash_interface | ||||
| bsl_i2c_flash_interface | ||||
| bsl_can_flash_interface | ||||
| Secondary BSL demo | Main Flash | secondary_bsl (uart/i2c/spi/can) | ||
| Target side | Host side | |||
|---|---|---|---|---|
| Memory location | BSL code demo | Application code demo | PC Host | |
| ROM BSL | ROM | / | bsl_software_invoke_app_demo (uart/i2c/spi/can) | MSPM0_BSL_GUI/Uniflash |
| Plug-In interface demos | Main Flash (Need co-work with ROM BSL) | bsl_spi_flash_interface | N/A | |
| bsl_uart_flash_interface | MSPM0_BSL_GUI/Uniflash | |||
| bsl_i2c_flash_interface | N/A | |||
| bsl_can_flash_interface | N/A | |||
| Secondary BSL demo | Main Flash | secondary_bsl (uart/i2c/spi/can) | N/A | |