Hi,
I am using the CRC peripheral to compute a 64 bit CRC. I would like to have the same implementation in plain C code. From the SDK tests I read the following:
/* This is the computed CRC using the software algorithm:
* Refer to the following link:
* www.zorc.breitbandkatze.de/crc.html
* NOTE: If the data is modified then there will be a failure
* and a new CRC64 has to be generated from the above link */
CRC64Bit = 0x77c41a42f112ad04;
If my reading is correct the test code uses this input data:
uint8_t realData[] = { 0x70, 0x61, 0x6e, 0x6b, 0x61, 0x6a, 0x20, 0x6b, 0x61, 0x70, 0x6f, 0x6f, 0x72, 0x21, 0x21, 0x21 };
In this test the CRC is configured with these parameters: CRC_BitSwap_MSB, CRC_ByteSwap_ENABLED, CRC_DataLen_64_BIT
By using the above web page I cannot get the expected 64 bits CRC (0x77c41a42f112ad04). Maybe I am not using the proper polynomial but I am not sure which one I should use.
My questions:
1) can you please tell me how to "configure" the web page to get the proper value?
2) is there a 64 bits reference implementation available? (in the SDK I only found the 32 bits one)
3) what is the effect of CRC_BitWasp_* and CRC_ByteSwap_* in full CPU mode?
Thank you and best regards,
Marco