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.

AM2634-Q1: AM263x The CRC8/CRC16/CRC32 polynomial of MCRC module

Part Number: AM2634-Q1

Hi expert,

     Customer would like to know the polynomial we used in MCRC module when CRC type is select CRC8, CRC16 and CRC32.

Since there are many options as indicated on https://en.wikipedia.org/wiki/Cyclic_redundancy_check

Is it possible to provide a table to show we how to calculate each type of CRC?

Regards

Andre 

  • Hi Andre,

    Thanks for reaching out. I'll have to double check with a fellow expert. In the meantime, can you look at the polynomial from the TRM in section 13.6.4.3.4 and let me know if that helps or if you still need confirmation that the polynomial applies to all the modes your listed?

    Best,

    Haley

  • Haley,

         This polynomial only cover CRC64. The MCRC module support more types of CRC algorithm.

    How about the rest of types? CRC8 ? CRC16? CRC32? ....

    Regards

    Andre

  • Hi Andre,

    Thanks for confirming and clarifying. I have the following polynomials for your question:

    • CRC-8: X8+X2+X+1 
    • CRC-16: X16+x12+x5+1 

    I am still looking into CRC-32, and I'll give you an update on that polynomial's progress on Thursday (9/21/23).

    Best,

    Haley

  • Haley,

       Thanks for your reply. As my test, it looks like our CRC-16 use CRC16-CCITT FALSE with initial value 0xFFFF. 

    Can you please also provide initial value of each CRC algorithm?

    Regards

    Andre

  • Hi Andre,

    I got the CRC-32 polynomial. The below list recaps all the polynomials originally asked for:

    • CRC-8: X8+X2+X+1 
    • CRC-16: X16+x12+x5+1 
    • CRC 32 bit: X32+X26+ X23+X22+ X16+X12+ X11+X10+ X8+X7+ X5+X4+ X2+X+1

    I can look into the initial value question next. However, I think you are asking about the "seed value", is that correct or is "initial value" referring to something else?

    Clarifying the terminology will help my conversation with fellow experts as our documentation uses the term "seed value" - example below. I can give an update on the new question's progress on 09/25/23.

    Thanks,

    Haley

  • Haley,

         CRC initial value is the start value when you calculate CRC. Most of algorithms use 0 as its initial/start value. Please refer to this on line CRC calculator.

    https://www.lddgo.net/en/encrypt/crc

    When I test CRC16 with MCRC module, the result is the same as calculation by using CRC16-CCITT FALSE. I didn't touch seed value at all and I don't think these two are the same thing.

    You can also refer to CRC64-ISO the initial value also not 0.

    Regards

    Andre

  • Hi Andre,

    Thanks for confirming and sending the calculator. It made the discussion among the experts easier, and the initial value will be set to all 1's.

    Best,

    Haley