SLAU929 April 2024 MSPM0C1104 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0L1105 , MSPM0L1227 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1304 , MSPM0L1305 , MSPM0L1306 , MSPM0L2227 , MSPM0L2228 , MSPM0L2228-Q1
The bootstrap loader (BSL) programming interface is an alternative programming interface to the Arm SWD. This interface offers programming capabilities only, and typically is utilized through a standard embedded communication interface. This allows for firmware updates through existing connections to other embedded devices in system or external ports. Although programming updates is the main purpose of this interface, it can also be utilized for initial production programming as well. Table 3-13 shows a comparison of the different options and features between MSPM0 and Microchip ATmega and ATtiny device families.
BSL Features | Microchip ATmega Series | Microchip ATtiny Series | MSPM0 |
---|---|---|---|
BSL started on blank device | Yes | No | Yes |
Auto detection of programming interface | No | No | Yes |
Security | Boot Lock bits ATmega88 and ATmega168 only | No | Secure boot options; CRC protections |
Customizable | No | Yes | Yes, configurable invoke pin and plug-in feature |
Invoke methods | Jump/call instruction | Jump/call instruction | 1 pin high at BOOTRST, SW entry |
Interfaces Supported | |||
UART | Yes | N/A | Yes |
I2C | Yes | N/A | Yes |
SPI | Yes(1) | N/A | Custom plug-in needed |
CAN | Yes(1) | N/A | Plug-in planned(1) |
USB | Yes(1) | N/A | No MSPM0 device with USB capability at this time. |