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.

[参考译文] MSPM0G3507:如何在辅助 BSL 中添加 CRC32

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1397236/mspm0g3507-how-to-add-crc32-in-the-secondary-bsl

器件型号:MSPM0G3507

工具与软件:

如何为固件升级添加 CRC32验证? 我希望将 CRC32验证作为升级过程的最后一步。 只有在验证正确的情况下、系统才可以跳转到要运行的应用程序。 此措施旨在防止固件文件损坏、这可能导致错误升级并导致器件无法正常运行或正常升级。

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

    您好!

    所以、您可以选择辅助 BSL。 您可以在引导代码中添加您自己的协议、例如 CRC32验证。  

    SDK 中有演示代码。 请找到它、然后您可以在其中添加 CRC 函数。  

    此致、

    Cash Hao

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

    您好!

    我注意到 MSPM0引导加载程序 GUI 具有 Get_CRC 功能。 如果将从此处获得的 CRC 结果添加到升级文件中、并在升级完成之前检查 CRC、或者如何使用 CRC 生成升级文件、并在升级完成之前检查 CRC 结果。

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

    您好!

    我不理解你的问题。 您能提供更多信息来解释一下吗?

    此致、

    Cash Hao

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

    您好!

    我希望在生成的升级文件中包括整个升级文件的 CRC32值的计算。 然后、在辅助 BSL 升级过程的最后一步、计算闪存中应用程序部分的 CRC32值、并将其与升级文件中的值进行比较。 在继续跳转到应用程序以执行前、这两个值必须匹配。

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

    好了、您的问题是如何获取应用程序部分数据的 CRC32值?

    此致、

    Cash Hao

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

    是的、我目前能够从升级文件中检索 CRC32计算值、但我不确定如何获取闪存中应用程序部分的 CRC32计算值。

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

    您好!

    有一个名为 bsl_ci_calculatecrc()的函数可用于获取 CRC32值。  

    /*计算给定范围的 CRC */
    result = bsl_ci_calculateCRC ((uint8_t *) addrStart、length);

    此致、

    Cash Hao