SLAU887 February 2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3106 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0G3507-Q1 , MSPM0L1105 , MSPM0L1106 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346
Structure
Header |
Length |
CMD |
Address |
Data |
CRC32 | ||||
---|---|---|---|---|---|---|---|---|---|
0x80 |
L1 |
L2 |
0x20 |
A1...A4 |
D1...Dn |
C1 |
C2 |
C3 |
C4 |
Description
The program command is used to write the data D1 through Dn in the memory address starting from A1...A4. This command performs the blocking write. Once the programming is done a Message response is sent to Host.
Programming is allowed to Main flash (application memory), Non-main Flash (configuration memory) and SRAM memory. For details on the absolute address range please refer to the device specific data sheet.
Flash memory should be erased by the Host before programming. See Flash range erase, Mass erase for more details on erasing the Main flash region. Non-main flash can only be erased by the Factory reset command.
Due to the Flash controller characteristic, the start address and Length of the data should be 8 byte aligned for flash programming.
SRAM memory is not fully accessible by the Host. See GUID-20221116-SR0T-CR07-GX5T-K8FLKCTN1ZBQ.html for more details.
Protected
Yes
Address
Start address of the memory region to be programmed. A1...A4, where A1 is the Least Significant Byte of the 32 bit address.
Data
Data bytes to be written in the specified address. Maximum size of the data that can be sent is limited by the Buffer size of the device. Buffer size is known from Get Device Info command .
Command Returns
BSL Acknowledgment and BSL core response with Message about the Status of the operation. See section GUID-20221116-SR0T-5XQF-V5HX-0PC5JLS5BBJ2.html for more details.
Example
Host: 80 0D 00 20 00 00 00 00 00 00 00 04 00 00 00 08 7A DC AE B8
BSL: 00 08 02 00 3B 00 38 02 94 82