This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F280039C: TMS320F280039C

Part Number: TMS320F280039C
Other Parts Discussed in Thread: C2000WARE

i used the example in that directory C:\ti\c2000\C2000Ware_4_02_00_00\libraries\dsp\VCU\c28\examples\crc\28003x_vcrc_config_poly   to calculate CRC 32C the configuration were the following i just added Xor with 0xffffffff at the end and it worked well but the input values i gave to the msgbuffer had to be flipped in order for the calculations to be right for example if i want to calculate crc32c for 0x0096 i will have to replace the lower byte with the higher byte so it will be 0x9600... i worte a code to do that flip before sending it to msgbuffer the problem is that the data i will test crc value is very big and the flipping in a new array might not be practical or professional 
so i tried to change the parity from even to odd and give the msg buffer the value without replacing the low byte with the higher byte but didn't get the result i was hopping to get so any solution to my problem how to change those configuration to solve it ? thanks 

  • Mustafa,

    Agreed, and this is a known issue within the library. I have provided a fix for this in the VCU0 CRC library through an assembly function called getCRC32_vcu_hilo_order_swap, which will be released in C2000Ware v5.00.00.00 next month. Again, this is not something that has been done for the VCU2 or VCRC, so if that is what you are using, you will need to make a similar change there.

    The parity setting doesn't help here because even if you set the parity to ODD i.e. High byte first, that's only for the first byte that's used in the calculation. Thereafter, it will still do the compute as Low byte followed by High byte, whereas what you need is the opposite.

    Thanks,

    Sira

  • thank you so much, i will be waiting for the next release. 
    i think the library that is used in the example is VCRC_Library_fpu32 so i don't know how to edit a library, i tried to open it but got message that the file is a binary file, so could you please tell me how to edit it ? 
    thanks 
    Mustafa 

  • You will need to rebuild the library using CCS. You can open the library project located at the following path within C2000Ware:

    C2000Ware_version_number\libraries\dsp\VCU\c28\ccs\c28x_vcrc_lib

    Thanks,

    Sira