Other Parts Discussed in Thread: HALCOGEN, TMS570LS3137
我用的是你们crc64模块,定义了一个数组 int32 arr[4]={0x01234567,0x89abcdef,0x0,x0};第一次arr[0],arr[1],存放的是要计算的数据,计算crc后赋给arr[2],arr[3],第二次计算arr[0] arr[1] arr[2] arr[3] 数据的CRC值,发现第二次的CRC值竟然不是0!!!调整了字节顺序也不行!!
#include "sys_common.h"
#include "system.h"
#include "crc.h"
#include "het.h"
int main(void)
{
uint64 crc=0x0U;
uint32 i=0;
crcModConfig_t conf;
conf.mode=CRC_FULL_CPU;
conf.crc_channel=0x00000000; //需要计算的地址
uint32 arr[4={0x01234567,0x89abcdef,0x0,x0};
conf.src_data_pat=arr;
conf.data_length=1//长度指64 pattern
//初始化CRC模块
crcInit();
crcSignGen(crcREG,&conf);
/*读CRC的值
arr[2]crcREG->PSA_SECSIGREGH1;
arr[3]crcREG->PSA_SECSIGREGL1;
//再进行一次实验,检验CRC计算正确性
conf.src_data_pat=arr;
conf.data_length=2
crcInit();
crcSignGen(crcREG,&conf);
return 0;
}
