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.

[参考译文] CC1350:CC1350:器件在片上 OAD 之后不会从新映像启动

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1322584/cc1350-cc1350-device-does-not-start-from-new-image-after-onchip-oad

器件型号:CC1350

感谢您阅读我的问题

我正在使用 cc1350测试片上 OAD 的功能、在第一次 OAD 更新中、客户端板正常运行更新后的固件。 但是、当我第二次尝试更新 OAD 时、更新成功、但在更新之前它可以继续使用固件运行。

初始固件(BIM + IMAGE_A)--正常
第一个 OAD 固件(IMAGE_B)--正常
第二个 OAD 固件(IMAGE_A)--不工作

我参考的示例是

客户:
rfWsnNodeIntFlashOadClient
https://dev.ti.com/tirex/explore/node?node=A__ALzhbweLnYcMIl.Cm8ecFg__com.ti.SIMPLELINK_CC13X0_SDK__eCfARaV__LATEST

服务器:
rfWsnConcentratorOadServer
https://dev.ti.com/tirex/explore/node?node=A__AJnI96Hj4b14j00F2yaIlw__com.ti.SIMPLELINK_CC13X0_SDK__eCfARaV__LATEST

我想在 onChip 上成功更新 OAD 多次。

+其他问题

很抱歉一次问了两个问题。

测试完成后、需要重启(关闭电源)才能使更新后的固件正常工作。
我很想知道如何使它在更新后无需重新启动即可立即运行。

谢谢!

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

    您好、Sangim:

    1.在您的场景中,仅当映像的版本号大于当前运行的映像时,设备才会引导至新映像。

    因此、如果您再次更新到映像 A、则不应将其引导到。 请生成版本号为3的映像。 这应该起作用。

    2.需要重新启动更新后的器件,这样器件就可以再次执行引导加载程序并决定引导至哪个映像。  

    此致、

    SID

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

    感谢您的回复 Sid,

    如前所述、无论版本如何、都可以通过修改 bim_intflash 的某些代码来更新 On_Chip OTA。

    但是、我无法找到自动运行通过 OTA 更新的固件的方法。

    我正在开发并实践的评估板将安装在很高的地方、我希望通过 OTA 进行更新后能够自动运行、不会关断电源或复位。

    目前、我正在通过修改 ccfg 来改进该方法。

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

    您好、Sangim:

    当我提到复位时、会在 OTA 完成后自动启动软件复位。  我相信您不需要物理重置。  

    但我在自述文件中看到这一行。

    因此、或许您可以实施一个逻辑、根据来自服务器的命令再次执行软件复位。   

    如果您知道器件正在复位、而新映像未在运行、那么您在代码中更改的逻辑可能无法解决问题。 请尝试使用带有增加版本号的默认应用程序来多次执行 OAD。  

    此致、

    SID