请问下
(SL_CRC_Calculate(((uint64 *)(uint32*)0xFFF82000), 48) == crcAtInit_VIMRAM)
这个CRC 算什么的
他能识别出什么错误
Susan Yang:
该功能的源代码如下所示。它使用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