示例#1
0
static int cryptoReset(void)
{
    int ret;
    
    ret = cm_ResetCrypto(DEFAULT_ADDRESS);
    if(0!=ret)
        printf("\n cm_ResetCrypto fail....ret=0x%x\n",ret);
    
    return 0;
}
// Read Checksum
uchar cm_ReadChecksum(uchar ucChipAddr, puchar pucChkSum)
{
    uchar ucDCR[1];
    uchar ucReturn;

    ucCmdRdChk[0] = (0x6 | ((ucChipAddr & 0xf) << 4));
    // 20 0x00s (10 0x00s, ignore first byte, 5 0x00s, ignore second byte, 5 0x00s  
    cm_GPAGenN(20);

    // Read the checksum                  
    if ((ucReturn = cm_ReadCommand(ucCmdRdChk, pucChkSum, 2)) != SUCCESS)
        return ucReturn;

    // Check if unlimited reads allowed
    if ((ucReturn = cm_ReadConfigZone(ucChipAddr, DCR_ADDR, ucDCR, 1)) != SUCCESS)
        return ucReturn;
    if ((ucDCR[0] & DCR_UCR))
        cm_ResetCrypto();

    return SUCCESS;
}