SLAU550AB January 2014 – September 2022 MSP430FR2032 , MSP430FR2033 , MSP430FR2110 , MSP430FR2111 , MSP430FR2153 , MSP430FR2155 , MSP430FR2310 , MSP430FR2311 , MSP430FR2353 , MSP430FR2355 , MSP430FR2433 , MSP430FR2532 , MSP430FR2533 , MSP430FR2632 , MSP430FR2633 , MSP430FR4131 , MSP430FR4132 , MSP430FR4133 , MSP430FR5041 , MSP430FR5043 , MSP430FR50431 , MSP430FR5847 , MSP430FR58471 , MSP430FR5848 , MSP430FR5849 , MSP430FR5857 , MSP430FR5858 , MSP430FR5859 , MSP430FR5867 , MSP430FR58671 , MSP430FR5868 , MSP430FR5869 , MSP430FR5887 , MSP430FR5888 , MSP430FR5889 , MSP430FR58891 , MSP430FR5947 , MSP430FR59471 , MSP430FR5948 , MSP430FR5949 , MSP430FR5957 , MSP430FR5958 , MSP430FR5959 , MSP430FR5967 , MSP430FR5968 , MSP430FR5969 , MSP430FR5969-SP , MSP430FR59691 , MSP430FR5986 , MSP430FR5987 , MSP430FR5988 , MSP430FR5989 , MSP430FR5989-EP , MSP430FR59891 , MSP430FR6041 , MSP430FR6043 , MSP430FR60431 , MSP430FR6877 , MSP430FR6879 , MSP430FR68791 , MSP430FR6887 , MSP430FR6888 , MSP430FR6889 , MSP430FR68891 , MSP430FR6927 , MSP430FR69271 , MSP430FR6928 , MSP430FR6972 , MSP430FR6977 , MSP430FR6979 , MSP430FR69791 , MSP430FR6987 , MSP430FR6988 , MSP430FR6989 , MSP430FR69891
Structure BSL Core Command
BSL Command | Protected | CMD | AL | AM | AH | Data | BSL Core Response |
---|---|---|---|---|---|---|---|
CRC Check | Yes | 0x16 | (AL) | (AM) | (AH) | Length (low byte), Length (high byte) | Yes |
Description
The MSP430 performs a 16-bit CRC check using the CCITT standard. The address given is the first byte of the CRC check. Two bytes are used for the length. See the CRC chapter of each Family User's Guide (see Section 1.2) for more details on the CRC hardware calculation that is used.
Protection
This command is password protected and fails if the password has not been sent.
Command
0x16
Command Address
Address to begin the CRC check.
Command Data
The 16-bit length of the CRC check. D1 is the low byte of the length, and D2 is the high byte of the length.
Command Returns
BSL acknowledgment and a BSL core response with the CRC value. See Section 4.1.4 for more information on BSL core responses.
Example for UART PI
Perform a CRC check from address 0x4400 to 0x4800 (size of 1024):
Header | Length | Length | CMD | AL | AM | AH | D1 | D2 | CKL | CKH |
0x80 | 0x06 | 0x00 | 0x16 | 0x00 | 0x44 | 0x00 | 0x00 | 0x04 | 0x9C | 0x7D |
BSL response where 0x55 is the low byte of the calculated checksum and 0xAA is the high byte of the calculated checksum:
ACK | Header | Length | Length | CMD | D1 | D2 | CKL | CKH |
0x00 | 0x80 | 0x03 | 0x00 | 0x3A | 0x55 | 0xAA | 0x12 | 0x2B |
Example for I2C PI
Perform a CRC check from address 0x4400 to 0x4800 (size of 1024):
I2C | Header | Length | Length | CMD | AL | AM | AH | D1 | D2 | CKL | CKH |
S/A/W | 0x80 | 0x06 | 0x00 | 0x16 | 0x00 | 0x44 | 0x00 | 0x00 | 0x04 | 0x9C | 0x7D |
BSL response where 0x55 is the low byte of the calculated checksum and 0xAA is the high byte of the calculated checksum:
I2C | ACK | Header | Length | Length | CMD | D1 | D2 | CKL | CKH | I2C |
S/A/R | 0x00 | 0x80 | 0x03 | 0x00 | 0x3A | 0x55 | 0xAA | 0x12 | 0x2B | STOP |