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:
- Data Integrity Verification:
Verifies that the BSL configuration data has not been corrupted or
accidentally modified.
- Validation of Configuration: Confirms that the BSL configuration structure
is valid and complete.
- 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:
- Initial Configuration: When the BSL configuration is first created or
programmed.
- Configuration Updates: When any field in the configuration is changed.
- 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.