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.

AWR2944EVM: how do I calculate the CRC32 using Datasize 8bit in MCRC module of AWR2944

Part Number: AWR2944EVM
Other Parts Discussed in Thread: AWR2944

1. when I have some data memory which length is Odd , and I want to calculate CRC32 value  of the data memory using MCRC module of AWR2944 under FULL CPU mode,

does it must  patching data add to the data memory to fit the datasize16 or datasize32? 

  • Hi,

    As per my understanding of the query, the issue is that the data width (in bytes) of your user data is not matching the data width requirements of the CRC module. 

    Let us take an example here. Your current data is only 13 bits and does not fit the 16 or 32- or 64-bit requirement of the module. In this case you may select the nearest width which is 16 and use that value as an input to the module for calculating CRC. The module will take care of the CRC calculation. You do not need to do any padding or anything of that sort. 

    Thanks,

    Pradipta. 

  • hi Pradipta,

    thank you for your reply,  

    if I want to calculate CRC32 of some segmented data memory ,The latter data memory section use the init value which is the CRC32 value of  prior data memory section , how can I do.   Do I use the seed value of MCRC module?   what case can I use the seed value MCRC module?

  • Hi,

    The question is unclear to me. Can you provide more details as to what exactly is required. 

    Thanks,

    Pradipta.

  • Hi Pradipta,

    For example,  there are data array from DATA[0] to DATA[],I want to calculate the CRC32 value of data array from DATA[0] to DATA[3],
    the CRC32 value I will call value_init_CRC32 , the I want to pass the value_init_CRC32 to calculate the CRC32 value of data array from
    DATA[4] to DATA[7] as the init value.

  • Hi,

    The seed value is used basically to give an initial value to the calculated CRC. This is done so that you do not get zero CRC for all zero data. 

    In your cases as well you can do as you wrote below

    if I want to calculate CRC32 of some segmented data memory ,The latter data memory section use the init value which is the CRC32 value of  prior data memory section , how can I do.   Do I use the seed value of MCRC module?   what case can I use the seed value MCRC module?

     You need to store the calculated CRC as the seed value. 

    Thanks,

    Pradipta.