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.

[参考译文] CC3200MOD:driverlib 中的 Simplelink 文件系统 API 和闪存 API 之间的差异。

Guru**** 2762685 points

Other Parts Discussed in Thread: CC3200

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/969866/cc3200mod-difference-between-simplelink-file-system-apis-and-flash-apis-in-driverlib

器件型号:CC3200MOD
Thread 中讨论的其他器件:CC3200

大家好、

我正在处理一个需要自定义引导加载程序来擦除/写入和执行应用固件映像的项目。 根据应用、我将创建我们自己的 OTA 协议。

因此、我想知道我应该使用 simplelink FS 和 FLASH (driverlib)中的 API 来写入/擦除应用程序映像的闪存。

此致、

Keshav Aggrarwal

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

    我们将通过文件系统(由 NWP 实现)访问闪存。

    应用程序映像是一个用户文件(/sys/mcuimg.bin)、您可以删除或覆盖该文件。 ROM 引导加载程序会将映像复制到 RAM 并执行映像。

    我们的 CC3200 OTA 使用库(FLC)和应用引导加载程序、使您能够以失效防护的方式替换映像(即在测试模式下将新映像作为新文件写入、并提供在出现问题时恢复到上一映像的选项)。 在这种情况下、应用程序引导加载程序将是"/sys/mcuimg.bin "、并将选择运行操作应用程序(/sys/mcuimg2.bin 或"/sys/mcuimg3.bin)。  

    有关详细信息、请参阅 OTA 代码和文档。

    BR、

    Kobi

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

    您好 Kobi、

    感谢您的回复。 我使用的器件是 CC3200MODR1M2AMOB、它没有串行闪存、仅256KB 的 RAM 用于代码和数据。

    出于某些原因、我必须编写自己的 OTA 协议。 那么、我可以使用引导加载程序中的 Simplelink FS API 来覆盖 mcuimg2.bin 吗?

    此致、

    Keshav Aggrarwal

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

    您好!

    是的。 Bottloder 应用程序与任何常规应用程序都一样。

    1月

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

    您好 Jan、

    您能为我介绍一下 API 的工作流程吗? 看到我将在 simplelink FS 中使用单个映像、并且在 OTA 期间、必须使用引导加载程序本身的新映像覆盖该映像。 我只想知道所需的 simplelink fs 标志、令牌... 解决方案。 处理映像文件时需要哪些特殊配置。

    此致、

    Keshav Aggrarwal

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

    您好 Keshav、

    我认为您错过了一个非常重要的问题。 OTA 更新的一部分不仅涉及 MCU 映像、还涉及重写 ServicePack 文件。 如果您的 OTA 能够重写 MCU 映像文件、则只有您的 OTA 系统实际上是无用的。

    为了能够重写 sl_文件系统内的任何文件、您需要使用文件系统 API (例如 sl_FsOpen()、sl_FsWrite()、sl_FsClose())。

    在开始编写自己的引导加载程序代码之前、您需要:

    • 了解 sl_文件系统 API 的工作原理
    • 您需要深入了解 TI OTA 代码的工作原理(如果没有这种深入了解、您将无法完成任务)
    • 您需要了解链接器文件中的各段(引导加载程序和主 MCU 映像可能会以不同的方式链接各段)

    在 e2e 论坛上、您可以找到一些与编写自己的引导加载程序相关的讨论。 您可以搜索它们、因为您会在那里找到许多有用的信息。

    1月