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.

[参考译文] CC3230SF:生产与出厂代码

Guru**** 2484615 points
Other Parts Discussed in Thread: CC3230SF, CC3200, UNIFLASH

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1264580/cc3230sf-production-versus-factory-code

器件型号:CC3230SF
主题中讨论的其他器件: CC3200UNIFLASH

目前、我使用的是 CC3200、其中通过 UniFlash 3.4进行编程。 生产(应用)代码和工厂代码(测试代码)分别在"系统文件"下输入/sys/mcuimg.bin、在"用户文件"下输入/sys/testmode.bin。 引导加载程序文件存储在/sys/mcutst.bin 中的"用户文件"下、用于确定是运行生产代码还是运行工厂代码。 所有工厂测试完成后、/sys/testmode.bin 文件将被删除。 在任何情况下都不应再次提供工厂代码。 如果可能、我想使用 CC3230SF 执行同样的操作。 下面是我使用 CC3200的文件系统的快照。 请告知。 谢谢你。

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

    在 CC3235中、您可以通过覆盖"/sys/mcuflashimg.bin "( OTA 更新就是一个示例)在测试和操作之间切换。

    因此、第一个(在生产编程期间)将"testmode.bin"存储为"testmode.bin"/sys/mcuflashimg.bin 并将操作映像存储为(例如)"/sys/oper-img.bin。

    然后、在完成出厂测试后、通过将 /sys/oper-img.bin 内容复制到/sys/mcuflashimg.bin 来切换到操作固件。 然后重新启动 MCU、操作代码将运行。 如果没问题、那么您将需要提交更新(并删除/sys/oper-img.bin)以永久化。

    如果在启动操作映像时出现故障、看门狗复位(或手动复位)将恢复到测试映像。

    请参阅《 CC32xx NWP 编程人员指南》 (第8章)中的详细信息。

    在 SDK 的 MQTT_Client 示例中、您可以找到 OTA_IF 模块、该模块可与"内部更新"配置一同使用从而执行此操作。 有关启用 OTA_IF 的详细信息、请参阅示例文件夹中的 README 文件。  

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

    首先,我很抱歉以前没有这么说。 我计划使用唯一的生产映像(不同的 thingID、认证等)对闪存进行预编程、并且还希望在此时对通用工厂代码进行编程、以缩短测试时间。 一旦我完成了工厂代码、我希望将其删除、这将比在测试期间对其进行编程快得多。 谢谢。

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

    关于测试和功能工厂代码的编程-我们没有任何问题、

    如果您想保存测试时间-您可以在测试完成时在 NVS 中设置一些内容(例如创建一个空文件)。

    如果文件不存在-测试映像将运行测试。

    当文件存在时(即测试完成后的下一次引导)-将发生"内部更新"(将内容复制到/sys/mcuflashimg.bin、删除"oper-img.bin"并使用操作 代码重新启动)。

    这里的重要一点是 CC3230SF ROM 引导加载程序会将/sys/mcuflashimg.bin 的内容加载到 XIP 闪存并从闪存运行。