This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
该功能的源代码如下所示。它使用MCU上的CRC模块来计算CRC。输入数据必须为64位。
uint64 SL_CRC_Calculate (uint64 * startAddr, uint32 count64)
{
uint32 count = 0u;
CRC_CTRL0 |= 0x00000001U; /* Reset the CRC Module */
CRC_CTRL0 &= 0xFFFFFFFEU;
CRC_CTRL2 |= 0x00000003U; /* Configure to Full CPU Mode */
for (count=0u; count < count64; count++) {
/*SAFETYMCUSW 45 D MR:21.1 <APPROVED> Comment_2*/
CRC_SIGREG = *startAddr;
/*SAFETYMCUSW 45 D MR:21.1 <APPROVED> Comment_2*/
startAddr++;
}
return(CRC_SIGREG);
}
该函数是SafeTI Hercules Diagnostic Library内的,具体您可以在安装路径下的
SafeTI™ Diagnostic Library Software Safety Manual for Hercules™ Processors User's Guide
文档内搜索SL_CRC_Calculate