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.

[参考译文] CC3235SF:使用 SLI 文件进行 FS 编程、编程时不会大于180MB、180后返回成功(0 STATUS)消息、尽管需要发送更多数据。

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1245272/cc3235sf-fs-programming-with-sli-file-will-not-program-larger-than-180mb-and-returns-with-success-0-status-message-after-180-despite-having-more-to-send-over

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

我将接管前一位员工的一个项目。 该功能会通过.sli 文件从文件系统传输到 CC3235SF 模块、以进行固件更新。 当前180MB .sli 文件传输成功且安装正确 、但较大的文件大小(下一个是190MB)将无法传输到180MB 以上。 编程代码似乎工作正常、我们方面没有任何限制、只能使180MB 大小正常工作。 当数据可用时、有一个 while 循环要在整个文件中发送。 发送180MB 后、系统暂停、最终从 CC3235SF 模块发回0状态消息、但我们仍然有剩余的数据要使用0x34 FS 编程命令进行发送。 由于我们的器件仍在 while 循环的中间、因此尝试发送剩余数据、但此时无关紧要、因为引导加载程序认为已发送完整文件。

我对 FS 编程过程有几个问题。

-引导加载程序如何知道完整文件已传输时(何时发送最后一个块后的0状态响应)?

-有什么地方我们已经发送了文件大小以前,这就是为什么引导加载程序停止传输和过早发送成功180MB 后?

-是否可能180MB 是我们的设备可以采取的最大大小,因此假设完整的文件已发送?  

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

    有几件事我不明白。

    您说 SLI 的大小超过180MB 吗? (这似乎太多了)

    您是否指的是嵌入式编程(即通过 UART 进行编程)?  

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

    抱歉、180KB。 原始文件也是180KB、经过新更改、我尝试使用190KB SLI 文件进行更新。 是的、遵循嵌入式编程文档(通过 UART)。 180KB 更新成功、但大于180KB 的文件将在180KB 标记处过早地返回0状态。 可以使用 Uniflash 对190KB 文件成功编程。 因此、通过 UART 进行编程时似乎遇到了问题。

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

    您可以使用 uniflash 对大 SLI 进行编程吗?

    应该限制为180KB。 请验证您的代码。

    我不熟悉引导加载程序的详细信息(我需要检查)、但 SLI 的末尾可能有一些填充、因此引导加载程序在最后一个块之前已收到所有需要的数据。 您可以通过创建更大的映像(二进制文件大于180KB)来检查这一点。  

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

    是的、可以使用 uniflash 对更大的文件进行编程。 更新后没有问题、器件按预期工作。

    通过 UART 编程时、较大的文件始终在传输180KB 时停止(0状态响应指示完成)、尽管有更多文件要发送。 就我而言、我们不会限制我们一直发送的任何内容、直到文件结束、但在我们执行此操作之前、我们会收到0状态响应。 180KB 文件上不会发生这种情况。 我们在传输完成后收到0状态。

    是否存在与原始文件180KB 相关,当它尝试替换它时,它认为新文件也应该是180KB , 因此过早发送0响应?

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

    如果您在获得0状态后停止(然后重置器件)、会出现什么情况?

    是否 执行了新映像?

    (uniflash 使用的命令与通过 UART 使用的命令相同)。  

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

    这解决了它! 谢谢。