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.

[参考译文] BQ27Z746:闪存流文件中使用的校验和计算

Guru**** 2460380 points
Other Parts Discussed in Thread: BQSTUDIO, BQ27Z746

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1536394/bq27z746-checksum-calculation-as-used-in-the-flashstream-files

器件型号:BQ27Z746
主题中讨论的其他器件:BQSTUDIO

工具/软件:

我已经了解了 BQSTUDIO 生成的 Flashstream 文件。 格式和顺序非常清楚。 常见问题解答和应用手册对其进行了详细说明。
但有一个例外:

在传输每个数据块(例如,16 个字节的块中有大约 4096 个字节)之后、会读回并检查一些 16 位 CRC(即下例中为 0x30 0xCB)。

->用于计算该 CRC 的算法是什么?

由于我不使用 BQSTUDIO 或 TI 评估板、因此缺少这些信息、我需要仅使用数据块中的数据自行计算。 从而完成由原始 Flashstream 文件指示的编程。

W:...
X:2.
...
W:16 0F 12 F0 4F FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
X:2.
C:16 14 30 CB

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

    您好、Michael、

    今天是国庆节、我们将在接下来的工作日处理您的机票。

    谢谢您、
    Alan

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

    您好、Michael、

    我建议阅读本文档、它应该包含可计算 CRC 的示例代码: https://www.ti.com/lit/an/sluaa11b/sluaa11b.pdf

    此致、

    Adrian

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

    嗨、Adrian、本文档介绍了 8 位 CRC、而闪存流文件检查 16 位 CRC。

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

    您好、Michael、

    请查看此文档: https://www.ti.com/lit/an/swra111e/swra111e.pdf?ts = 1752090284783

    此致、

    Adrian

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

    您好、Adrian、到目前为止没有成功。 您的文档现在介绍了 16 位 CRC、但不详细介绍如何将其应用于 BQ27Z746 闪存流格式的数据。

    让我从 flashstream 文件中给出更多行:

    --------------------------------------------------------------------------------
    ;转至 ROM 模式
    --------------------------------------------------------------------------------
    W:AA 00 00 0F
    X:1000
    --------------------------------------------------------------------------------
    ;数据块
    --------------------------------------------------------------------------------
    W: 16 11 de 83
    X:200
    W:16 0F 12 00 40 70 2F 34 81 28 BF 79 F5 3B 3F FE DA 55 49 00
    X:2.
    W:16 0F 12 10 40 40 00 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF
    X:2.
    ...
    W:16 0F 12 E0 4F FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
    X:2.
    W:16 0F 12 F0 4F FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
    X:2.
    C:16 14 30 CB
    --------------------------------------------------------------------------------
    ;执行闪存代码
    --------------------------------------------------------------------------------
    W: 16 08 11.
    X:4000

    我想在底部附近的检查行中计算这个 30 Cb。 现在、我有一个来自 PDF 的通用 16 位 CRC 算法。 但是,什么饲料到 calc 例程? 我是否应该包括器件地址 16? 我是否应该包括命令 0F 12? 我是否应包括地址 00 40。 F0 4F(显然是小端字节序)? 我是否应该从 0F 12 行的数据部分开始? 或者还包括初始 11 de 83 命令? 猜测的未知因素太多。

    ->用于计算该 CRC 的算法是什么? (以上示例中为 30 CB)

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

    您好、Michael、

    这是我们没有记录的东西。 我必须就这一点向团队成员咨询。 请允许我有时间回复您。

    此致、

    Adrian

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

    是否有任何更新? 是否成功? BR、Michael

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

    您好、Michael、

    我联系了固件团队、他们告诉我这不是我可以公开发布的信息。 应使用 BQStudio 创建黄金映像文件、然后可以使用您自己的 MCU 将黄金映像文件编程到电量计上。

    此致、

    Adrian