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.

[参考译文] CC2642R-Q1:在 OAD 片上固件更新过程后无法自动重新引导

Guru**** 2771105 points

Other Parts Discussed in Thread: CC2642R, UNIFLASH

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1598772/cc2642r-q1-unable-to-auto-reboot-after-oad-on-chip-firmware-update-process

器件型号: CC2642R-Q1
Thread 中讨论的其他器件: CC2642RUNIFLASH

您好:
我正在将 CC2642R 用于基于 BLE 的应用。 我们已经在应用中集成了固件更新过程。 我们参考了以下链接:
https://dev.ti.com/tirex/explore/node?isTheia=false&node=A__ATQuPjLa7mTe6cHhz7y-WA__com.ti.SIMPLELINK_ACADEMY_CC13XX_CC26XX_SDK__AfkT0vQ__LATEST

和使用了 3 个示例固件:
1.BIM_onchip
2. persistent_app
3. simple_peripheral_on_chip

这些文件是根据参考链接使用 uniflash 刷写的。 能够使用 Simplelink Connect 应用程序成功更新应用程序的固件 但是、应用程序无法自动重新启动(软复位)以移至更新的新固件。 需要硬复位(切换电源开关)才能运行新固件。  

我的问题是、是否需要执行任何额外步骤来自动重新启动并确保新固件已启动并正在运行而不执行硬复位

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

    尊敬的 Raj:

    只是为了更好地提供支持、在运行演示时、它说下载成功、但终端上的版本号没有变化? 版本号仅在您执行硬重置后更改、我的理解是否正确?

    此致、
    Josh Alderson

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

    你好 Josh、

    是、数字仅在硬复位后更改。 问题是当我收到消息“100 % done “时、我无法使用标准扫描仪应用程序查看设备。 只有在硬重置硬件后、才能在扫描仪应用程序中看到设备

    此致、
    Raj

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

    尊敬的 Raj:

    您能告诉我您使用的是什么 SDK 吗?

    OAD 完成后、器件应在处理所有挂起的消息后自动复位。
    您能否为我确认在 运行示例时代码中到达 SimplePeripheral_processConnEvt、特别是它调用 SystemReset() 的位置?
    我建议在此处添加 PRINT 语句、或者使用调试器并在此处添加断点。

    此致、
    Josh Alderson

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

    你好 Josh、

    您能告诉我您使用的 SDK 是什么吗?


    我正在使用 simplelink_cc13xx_cc26xx_sdk_7_41_00_17 SDK

    您能否为我确认在 运行示例时代码中到达 SimplePeripheral_processConnEvt、特别是它调用 SystemReset () 的位置?


    简单外设示例中提供了 SimplePeripheral_processConnEvt 函数。 调用 OAD 复位服务时、固件会成功复位为持久应用。 它成功达到“SP_OAD_RESET_EVT"。“。

    成功下载映像后(当持续应用示例代码正在运行时)、我在重置主固件方面遇到问题。   持久应用固件逻辑中没有 SimplePeripheral_processConnEvt。 成功下载固件后、需要执行硬复位才能运行新固件。

    请提供解决上述问题的指导。

    此致、
    Raj

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

    您好、Raj、

    这是使用 LaunchPad 器件时 BIM 的已知问题。 解决方法是像以前一样进行硬复位、但有一个永久性修复、需要更新仿真软件包。 有关仿真软件(如果需要)更新问题和步骤的更多信息、请参阅以下链接: 引导映像管理器 (BIM)—SimpleLinkTm CC13XX/CC26XX SDK BLE5-Stack 用户指南 2.2.11.00 文档

    此致、

    Josh Alderson

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

    你好 Josh、

    文档链接包括以下几点:
    “这仅影响连接到 JTAG 的器件、例如 LaunchPad 上的 XDS110。 通常情况下、此问题不应出现在现场器件或未连接到 JTAG 的器件中。 “

    我们仅使用微控制器、而不使用 LaunchPad 进行测试。 JTAG 没有连接到微控制器。 我们仍然面临上述问题。 是否有针对相同的解决方法?

    此致、
    Raj

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

    你好 Josh、

    我还有一个问题。 当我们修改任何与 BLE 相关的参数(例如主应用程序代码中的扩展广播)时、是否也需要将相同的参数更改反映在持久应用程序代码上??
    因为我刚刚禁用了示例 simple_peripheral_onchip 的扩展广播、并且在成功实现 OAD 功能后自动重新启动无法正常工作。 最新的 SDK 版本 (8.32.00.07) 上实现了此功能

    此致、
    Raj


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

    您好、Raj、

    如果 BIM 不是问题、并且固件不是问题、那么我建议您检查持久应用是否到达了重置系统的代码部分。
    持久应用中有两个对 SystemReset API 的调用、一个在超时逻辑中调用、另一个在连接事件处理中调用。
    如果这不是问题,那么我将不得不进一步研究它。

    对主应用程序代码的更改不会反映在持久应用程序中、因为它们是两个单独的应用程序。 如果您希望对两者进行更改、则需要对两个应用程序分别进行这些更改。 此外、这不应影响自动重新启动

    此致、
    Josh Alderson