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.

SL_CRC_Calculate

请问下
(SL_CRC_Calculate(((uint64 *)(uint32*)0xFFF82000), 48) == crcAtInit_VIMRAM)

这个CRC 算什么的
他能识别出什么错误
  • 该功能的源代码如下所示。它使用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