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.

[参考译文] TMS570LC4357:SafeTiLib函数SL_CRC_Calculate问题

Guru**** 2535150 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1098228/tms570lc4357-safetilib-function-sl_crc_calculate-question

部件号:TMS570LC4357

各位专家,您好!

我一直在研究CRC模块,并想知道如何在全CPU模式下实施CRC计算。
我在SafeTi库的SL_MISC.c中找到函数SL_CRC_Calculate(),我觉得该函数完全没有完成。

(Q1)您能否解释该功能的工作原理?

谢谢,顺祝商祺!
最大

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Max,

     SL_CRC_Calculate() 是一个完整的工作函数。 您在使用此功能时是否遇到任何问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    QJ:您好!

    我没有尝试,但我误解了该功能的工作方式。

    我感到困惑的是PSA签名寄存器被覆盖每个循环,这使我相信计算的值被覆盖每个循环,因此CRC被每个循环的闪存值覆盖。

    (Q1)您能否说明这在内部是如何工作的?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Max,

    CRC控制器用于计算一组数据的签名,然后将计算的签名值与预先确定的良好签名值进行比较。

    每个CRC通道有一个PSA签名注册。 可以读取和写入PSA签名寄存器。 写入时,它会压缩数据。  读取PSA签名注册时,它提供计算的签名。

    对于 半CPU模式和 自动模式, 当压缩数据模式的一个扇区时,存储在PSA 签名寄存器中的签名将被复制到PSA扇区签名寄存器中。   对于计算的CRC,应读取PSA扇区签名寄存器而不是PSA签名寄存器。