setReg32Bits(CRC_CTRL, 0x02000000UL);
setReg32(CRC_CRC, 0xFFFFFFFFL);
clrReg32Bits(CRC_CTRL, 0x02000000UL);
while(data_size>=2)
{
unsigned short data_in = 0;
data_in = (((unsigned short)(*data_buf)<<8)|*(data_buf+1));
setReg32(CRC_CRC,data_in);
data_buf +=2;
data_size -=2;
}
if(1==data_size)
{
setReg32(CRC_CRC,*data_buf);
data_size = 0;
}
temp_sum = (unsigned short)(0xFFFF&getReg32(CRC_CRC));
CRC_GPOLY=0x1021.