Announcements

Help us improve the Power & Sensing Selection Guide. Share feedback

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

cross mob
User18295
Level 1
Level 1
Hello,

When running the SafeTlib DMA CRC test it is always failing when comparing the calculated CRC to the value in the DMA CRC registers. I am running on a TC233 using the HighTec Tricore v4.9.3.0 compiler. Here are things I have looked at:
-I verified that the Assumptions of Use for the DMA test are satisfied (DMA isn't being used by any other peripheral, the user stack is in the 0x70nnnnnn address range
-I confirmed that the DMA operation is taking place. The data is copied from SourceAddress1 to DestAddress1 and from SourceAddress2 to DestAddress2.
-The correct DMA channels are being used as configured
-Verified that the CRC32 macro definition is using the correct crc32 for the _GNU_C_TRICORE_:
__asm__ volatile("crc32 %0, %2, %1" :"=d"(res) : "d"(b), "d"(a): "memory");
return res;
-No code in the SafeTlib has been modified - it is being used as supplied.

Any ideas what could be causing the calculated CRC to not match the DMA CRC value?

Thanks,
Steve
0 Likes
2 Replies
User18295
Level 1
Level 1
Turns out the compiler version we were using handles the crc32 instruction differently. There is a specific version of the compiler that needs to be used for SafeTlib and we weren't using it. Using the correct version fixed the issue.
0 Likes

Hi,

I have the same issue now. Could you please tell me the correct version of the compiler? And which compiler is used? Thanks

0 Likes