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?
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?
Best Regards,
Robin
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------