CRC_CRC endianness dependent on CRC_CTRL[WAS]?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

CRC_CRC endianness dependent on CRC_CTRL[WAS]?

512 Views
xarowubas
Contributor III

I program the Kinetis K60 (little endian) via assembly.

"When programming data values, the values can be written 8 bits, 16 bits, or 32 bits at a
time, provided all bytes are contiguous; with *MSB* of data value written first."

When you write the *seed* value to CRC_CRC you MUST NOT reverse the byte order from LSB to MSB.

However, when I write *data* values to CRC_CRC I must reverse it from LSB to MSB.

Is that expected behavior?

Does the specification really distinguish between the terms "seed value" and "data value", so that the MSB restriction only applies to "data values"?

Would be quite confusing. Is there a reason?

Labels (1)
0 Kudos
Reply
1 Reply

374 Views
Robin_Shen
NXP TechSupport
NXP TechSupport

Sorry for the late reply!

"However, when I write *data* values to CRC_CRC I must reverse it from LSB to MSB"
I don't think you have to reverse it from LSB to MSB, this hardware CRC module support Transpose feature.
Have you try to configure Types of transpose?

Transpose feature.png

Best Regards,

Robin

 

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply