Reproducing CRC007 results independently of the XMC4500

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User5581
Level 3
Level 3
Hi,
I have been trying to independently reproduce (Running on a pc using a c program built with gcc) the results that the FCE engine gives when using the CRC007 App and the CRC007_Calculate32bitCRC(). My independent results (on the pc) never match the XMC4500 CRC engine results. I have tried altering input buffer endianness and the 'Reflect input data bytewise' bit in the CRC007 GUI, on the XMC4500, but to no avail.

There are several standard code snippets, as well as the pycrc project available on the internet that have this code and correctly reproduce the Ethernet CRC32 algorithm using the ethernet CRC Polynomial 0x04C11DB7. However, I have not been able to get these to match the FCE engine CRC results.

Would somebody (at Infineon probably) be able to post some c or psudeo code that correctly reproduces the action of the FCE engine (using CRC007) for the 32 bit FCE Kernel (CRC Kernel 0 on-chip)? I need to be able to calculate this CRC independently on a pc, and compare the value to CRC values computed on the XMC4500.

Thanks,
-Kurt

P.S. I have found this post http://www.infineonforums.com/threads/2114-Crc32 and will try to work from there.
0 Likes
5 Replies
Not applicable
Hi Kurt,

You may try this online CRC tool which should give identical results as the FCE engine (For configuration with REFOUT, REFIN and XSEL = 0).

Best regards,
Sophhia
0 Likes
User5581
Level 3
Level 3
Hi Sophia,

Thanks for the link to the online CRC Tool. I appreciate your help with all this.

Unfortunately, I can not get the CRC007 Example code to match the results of that online tool, even with REFOUT, REFIN, and XSEL = 0 on the CRC007 GUI. I am using Order=32 and Polynom=04C11DB7 in the online tool.

This online tool does not seem to disclose the details of the algorithm they are using.

It would be nice to know the parameters that unambiguously identify the CRC algorithm used with the FCE, and with the CRC007 API calls. There is a standard taxonomy for this as seen at this link about CRC algorithm specification..

Could you please post the DAVE3 project you used to produce CRC using the FCE results that match the online tool?

Thanks,
-Kurt
0 Likes
Not applicable
Hi Kurt,

Our colleague will look into this and provide an example.

Best regards,
Sophia
0 Likes
lock attach
Attachments are accessible only for community members.
Not applicable
Hi Kurt,

The reason is because of the endianness of the input data. Attached is a simple example includes the function to change the endianness of input buffer. Hope it helps...



Best regards,
Sophia
0 Likes
User5581
Level 3
Level 3
Thank you!
-Kurt
0 Likes