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.

[参考译文] Linux/AWR1642:如何在 ARM/Linux 系统下刷写不带 UNIFLASH 的 sflash?

Guru**** 2562120 points
Other Parts Discussed in Thread: AWR1642, UNIFLASH

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/637534/linux-awr1642-how-to-flash-the-sflash-without-uniflash-under-the-arm-linux-system

器件型号:AWR1642
主题中讨论的其他器件: UNIFLASH

工具/软件:Linux

您好!

我正在尝试在 ARM 和 Linux 系统下刷写器件(使用 AWR1642通过 UART 刷写)。 我已经完成了一个简单的代码、它可以对 RAM 进行编程。 但关于闪存、它变得不同。

我参考的文档是 或 。  

--------

我每次发送时 (数据有效载荷<8字节、不带0x24)、ACK 返回完美值。

如果我设置(数据有效载荷> 7字节)、即 (数据有效载荷= 8字节)、则根本没有 ACK 反馈。 但是、如果我将0x24更改为0x26 (使用新校验和)、ACK 将正确返回。 我使用闪存文件(.bin、300+ KB)进行了测试、它可以成功上传250 x 8个字节、但在250字节数据的第9个块返回0x00 0x04 0x33 0x00 0x33。  

我要使用的流程图是

网址为 SWRA551.pdf

--------

该文档提到、在"写入 SFLASH、计算每包 CRC "过程中。 本文档未提及如何计算 CRC32以及如何将 CRC32附加到数据包。

我需要了解的是:

使用 CRC32时、是否需要更改任何数据? (命令长度、校验和)。

我需要计算数据的哪一部分?(仅有效载荷、从0xAA、校验和或0x24开始?)

我应该使用哪种算法来获得 CRC32 (多个标准来获得它、结果也可能不同)?

最大数据包大小为256、那么在这种情况下、有效载荷的最大大小是多少? 如何将其附加到命令中?

----------

本文档未提及如何获取校验和(我通过其他命令获取)

本文档未提及如何获取长度(我从其他命令获取)

本文档未提及除0x00 0x04 0xcc 0x00 0xcc 以外的其他 ACK。

本文档未提及如何擦除闪存(无流程图)。 不确定是否写入闪存至关重要。

----------

如果可以提供 C 示例、我将不胜感激;UNIFLASH 源代码将是完美的。  

此致、

国王

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

    我不确定是否可以为您提供 UNIFLASH 源代码。
    让我检查一下我们是否有任何简单的 C 示例、我们可以在本例中分享这些示例。


    -Raghu
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Raghu、
    如果无法证明示例代码、您能否要求证明文档正确(SWRA551)? 我确信该文档存在一些错误、并且错过了一些重要的详细信息。
    此致、
    国王
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在探测 Uniflash 的输出后、我现在可以写入闪存。 无法理解为什么无法提供正确的文档。 根本没有任何敏感或机密信息。 无论如何、错误的文档比非文档更好。 感谢您的阅读。