Other Parts Discussed in Thread: TMS570LC4357
Tool/software: Code Composer Studio
I am experimenting with 3 Methods of CRC CALCULATIONS 1) Hardware CRC Calculation 2) Software CRC Calculation 3) Linker CRC Calculation . FOR THE SAME MEMORY REGION (FLASH) NOT FOR DIFFERENT MEMORY (FLASH) REGIONS .
Linker Command file crc_table(_my_crc_table, algorithm=TMS570_CRC64_ISO) It should match to TMS570LS3137 CRC Pheripheral calculated Value as it uses POLY_64 algorithm
Attached Image explains my Experimentation which is only 50% of what I need .
1) HARDWARE Calculated the CRC for for Memory Range ( .const ) Calculation Result ( In the Watch Windows ResultCrcHW_u64 is variable of this ).
2) SOFTWARE Calculated the CRC for Memory Range ( .const ) Calculation Result (In the Watch Window ResultCrcSoftWare_u64 is variable of this ).
3) The above 1 , 2 methods ( S/W and H/W) CRC Matches so CRC64 Polynomial method is correct .
4) The Linker command crc_table(_my_crc_table, algorithm=TMS570_CRC64_ISO) generates different 32 bit CRC this is not matching with 1 , 2 methods .
This proves one from the LINKER CRC64_ISO of CCS crc_table(_my_crc_table, algorithm=TMS570_CRC64_ISO) is calculating wrong .