Part Number: MSPM0L1306-Q1
Hello TI experts:
I try to compare CRC result which is generated by the linker and the result which is genereted by CRC accelerator module.
Both of them have value, but the value is different. I try to use different CRC algorithms in .syscfg and .cmd
CRC accelerator module: CRC-16 CCITT, CRC-32 ISO-3309
CRC generator in linke: CRC_CCITT, CRC32_PRIME
GROUP {
FLASH_BOOT (RX) : origin = _BOOT_START_ADDRESS_, length = _BOOT_SIZE_, fill = 0xFFFF
} crc(_flash_crc, algorithm= CRC_CCITT) //CRC32_PRIME)
uint32_t calculate_crc32(uint32_t start_addr, uint32_t size_in_bytes)
{
uint32_t *data_ptr = (uint32_t *)start_addr;
uint32_t word_count = size_in_bytes / 4;
DL_CRC_setSeed32(CRC, 0xFFFFFFFF);
for (uint32_t i = 0; i < word_count; i++) {
DL_CRC_feedData32(CRC, data_ptr[i]);
}
crc_result = DL_CRC_getResult32(CRC);
return crc_result;
}
uint32_t calculate_crc16(uint32_t start_addr, uint32_t size_in_bytes)
{
uint32_t *data_ptr = (uint32_t *)start_addr;
uint32_t word_count = size_in_bytes / 4;
DL_CRC_setSeed16(CRC, 0xFFFF);
for (uint32_t i = 0; i < word_count; i++) {
DL_CRC_feedData16(CRC, data_ptr[i]);
}
crc_result = DL_CRC_getResult16(CRC);
return crc_result;
}
My questions are:
1, What CRC algorithm is right for crc_table() Operator?
2, Why the CRC result is not included in HEX file when use CRC_CCITT. The CRC result with CRC32_PRIME is included in HEX file, see below picture.

3, Is there other possible reason for different CRC result? Thanks!