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.

[参考译文] MSPBSL:确定 CRC 校验和的正确方法是什么

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/779054/mspbsl-what-is-the-correct-way-to-determine-the-crc-checksum

器件型号:MSPBSL

尊敬的先生/女士

我将 MSPBSL_Scripter (3_04_00_01)与 Olimex BSL Rocket 一起用于对 MSP430F5xx 进行编程。 要验证下载、我希望在脚本末尾执行以下命令序列:

CRC_CHECK{address}{length}{Expected}

但是、我不知道如何正确确定固件映像的 CRC 校验和。 如何计算固件映像的三个参数"地址"、"长度"和"预期"? 我假设有一些标准程序来实现这一点。 是否有工具可以执行此操作?

非常感谢您的帮助。

此致、
Philippe

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Philippe、
    "地址"是要编程的段的起始地址、"长度"是要编程的块的字节数。
    使用的 CRC 算法与 MSP430 CRC 模块中的一个算法相同。

    对于 CRC 模块、输入寄存器有两种类型的寄存器:
    •CRCDI 作为和中的 CRC 数据
    •CRCDIRB 作为 CRC 数据输入反向字节

    在 BSL 通信中、我们将输入字节插入 CRCDIRB_L、而不是 CRCDI_L

    在 PC 端、CRC 被定义为16位数据并由0xFFFF 初始化:

    空 Util:resetCrc()

    CRC = 0xFFFF;


    空 Util::checkSumCalculate (uint8_t 数据)

    uint8_t x;
    X =((CRC >> 8)^数据)& 0xff;
    x ^= x >> 4;
    CRC =(CRC << 8)^(x << 12)^(x << 5)^ x;


    uint16_t Util:retCrc()

    返回 CRC;


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

    你(们)好

    非常感谢您的详尽解释。 但是、我还没有计划自己实施基于 PC 的程序。 我想知道确定给定 TXT/HEX 文件的"地址"、"长度"和"预期校验和"的最简单方法是什么、以便我可以将这些参数移交给 BSL 脚本编写器。 如果我不得不自己实施的话,我感到很惊讶。 我认为某些 TI 工具能够做到这一点?!

    非常感谢您的帮助和致以最诚挚的问候、
    Philippe

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Philippe、
    我很抱歉我的答复很晚。 最近几天我生病了。
    回到您对该工具的问题、该工具将自动提供这些参数、根据我的信息、使用 IAR、可以结合创建映射文件的功能来获取类似这样的信息、 但在细节方面、我建议您在 IAR 的支持下进行检查。
    遗憾的是、在 TI 方面、我们没有这样的功能。 由此给您带来的不便、我们深表歉意。

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

    你(们)好

    没问题、我希望您能再次获得良好的表现。 感谢您提供有关 IAR 的信息。 我将与他们核实。

    此致、

    Philippe