器件型号: MSPM0L1306-Q1
您好 TI 专家:
我尝试比较由链接器生成的 CRC 结果与由 CRC 加速器模块生成的结果。
它们都有值、但值不同。 我尝试在.syscfg 和.cmd 中使用不同的 CRC 算法
CRC 加速器模块:CRC-16 CCITT、CRC-32 ISO-3309
LINKE 中的 CRC 生成器: CRC_CCITT、 CRC32_PRIME
组{
Flash_boot (RX) :origin =_boot_start_address_、length =_boot_size_、fill = 0xFFFF
}crc (_flash_crc、算法= 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);
对于 (uint32_t i = 0;i < word_count;i++){
DL_CRC_feedData32 (CRC、data_ptr[i]);
}
CRC_RESULT = DL_CRC_getResult32 (CRC);
返回 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);
对于 (uint32_t i = 0;i < word_count;i++){
DL_CRC_feedData16 (CRC、data_ptr[i]);
}
CRC_RESULT = DL_CRC_getResult16 (CRC);
返回 CRC_RESULT;
}
我的问题是:
1、什么 CRC 算法适合 crc_table () 运算符?
2、使用 CRC_CCITT 时 CRC 结果不包含在十六进制文件中。 带有 CRC32_PRIME 的 CRC 结果包含在十六进制文件中、请参阅下图。

3、不同的 CRC 结果是否有其他可能的原因? 谢谢!

