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.

[参考译文] LP-CC2652R7:BLE 片上 OAD 实现

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1489323/lp-cc2652r7-ble-on-chip-oad-implementation

器件型号:LP-CC2652R7
主题中讨论的其他器件:CC2652R7

工具与软件:

尊敬的支持团队:

我目前正在处理基于  simplelink_cc13xx_cc26xx_sdk_7_40_00_77 SDK 的固件。 我想将片上 OAD 功能添加到固件中、并尝试按照说明运行示例(增强型低功耗蓝牙无线下载(OAD)基础知识—CC13XX CC26XX SimpleLink Academy):

当我在构建后从 CCS 中刷写.bin 文件时、我试图将固件更新为所需的固件时、它不起作用、提示"未找到服务"或有时提示"OAD 服务复位失败":

(我将 persistent app 的地址设置为0x86000、因为此文本、我曾尝试设置 simplelink Academy 中提及的0x38000、但未能处理:)

我还发现、在 "OAD 服务重置失败"后的某个时间、固件将更改为 persistent app。 然后我断开并再次连接器件、我可以继续使用 OAD 更新以更新为所需的固件、这种行为是有线方式、整个过程不应如此拆分?

但是、当我直接使用此处的.hex 和.bin 文件(simplelink-connect-fw-bins/CC2652R7/7_10_00_98_eng/simple_peripheral_oad_onchip_LP_CC2652R7_tirtos7_ticlang_oad-v1.0.0.bin at main·TexasInstruments/simplelink-connect-fw-bins·GitHub)时、运行良好:

我是否知道网站上的文件与示例中的文件有任何差异?

或者我在这个过程中是否犯了任何错误?  

非常感谢!

此致、

Jermyn

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

    您好!

    感谢您发送编修! 我们将调查您的问题并尽快回复您。

    此致、

    Tarek

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

    尊敬的 Tarek:

    谢谢!

    我将继续尝试实现、以下是更新后的情况:

    即使 我直接从此文件(simplelink-connect-fw-bins/CC2652R7/7_10_00_98_eng/simple_peripheral_oad_onchip_LP_CC2652R7_tirtos7_ticlang_oad-v1.0.0.bin at main TexasInstruments/simplelink-connect-fw-bins··GitHub)中使用 bim.hex 和 persistent_app.bin 文件、 我也曾尝试使用固件 v1、然后更新到固件 v2。 我已经按照 SimpleLink Academy 添加了片上 OAD 功能、但 OAD 过程确实分为两个步骤。 它仍显示"OAD 服务失败"或卡在"设备重置"状态。

    然后我尝试断开器件并重新连接、固件切换到 persistent 应用、这一次我可以继续更新到所需的固件 V2

    我还尝试了更新到固件 V1格式 V2、但发生了类似的情况。

    您能为我提供帮助吗、非常感谢。

    此致、

    Jermyn

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

    您好!

    您能否详细说明一下当您说该过程分为两个步骤时您的意思?
    我将在最后尝试它、看看它是否起作用。

    此致、
    Maxence

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

    尊敬的 Maxence:  

    感谢您的答复。

    当然、请允许我详细说明一下情况:

    我有几个版本的固件、我尝试测试 OAD 功能、首先刷写 bim.hex persistent_app.bin 和 firmware_v4.bin、然后我尝试对 firmware_v2启动 OAD 更新、该过程卡在"设备复位"状态:

    然后我退出此界面、firmware_v4将转换为 persistent 应用:

      

    我再次连接设备、能够继续更新至 firmware_v2:

    然后我尝试使用我的 firmware_v2并更新到 firmware_v4、它显示 OAD 失败(或有时显示"OAD 服务重置失败")

      

    我再次退出界面、然后再次转换为持久应用:

    然后我可以继续更新到另一个固件。

    1)这里就是我现在所面临的情况、为了理解 Simplelink Academy、当我使用片上 OAD 更新时、应该在"OAD 复位"界面按"update"后完成整个过程:器件应自动复位并更新到新映像。 但在我的例子中、这一过程是分开的:

    当我按'更新'时,过程被卡住,我需要退出界面,设备的映像变成'持久应用'。

    然后我再次连接设备、然后可以使用 OAD 更新继续执行步骤。

    2) 2)我还注意到、在 Simplelink Academy BLE OAD Advanced (低功耗蓝牙增强无线下载(OAD)高级—CC13XX CC26XX SimpleLink Academy)中、建议将地址模式更改为公共地址、但我的固件使用具有公共 ID 的 RPA、我还想知道这会受到什么影响(不同的地址模式)?  

    您能帮我解决这个问题吗、非常感谢!

    此致、

    Jermyn

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

    您好!

    我尝试了重现有关 OAD 基础知识的 SimpleLink Academy 教程、最后讲得很好 您可以尝试相同的程序,但与我发送给您的文件? e2e.ti.com/.../simple_5F00_peripheral_5F00_oad_5F00_onchip_5F00_LP_5F00_CC2652R7_5F00_tirtos7_5F00_ticlang_5F00_oad.bin e2e.ti.com/.../persistent_5F00_app_5F00_LP_5F00_CC2652R7_5F00_tirtos7_5F00_ticlang_5F00_oad.bin e2e.ti.com/.../bim_5F00_onchip.hex

    此致、
    Maxence

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

    尊敬的 Maxence:

    我使用您的文件将固件更新到 firmware_v4、它再次显示"OAD 失败":

    我不知道如何解决这个问题。 您能再次帮助我吗、非常感谢!

    此致、

    Jermyn

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

    你(们)好

    您是否能够将固件更新为名为"ble5_simple_peripheral_oad_onchip_public_address_cc26x2r7_iar_FlashROM_Release_oad_v2.bin"的固件? 您应该能够通过在屏幕截图的"选择固件映像"部分中选择您的电路板来直接找到它

    此致、
    Maxence

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

    尊敬的 Maxence:

    运行正常、我可以更新  ble5_simple_peripheral_oad_onchip_public_address_cc26x2r7_iar_FlashROM_Release_oad_v2。  

     

    谢谢!

    Jermyn

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

    您好!

    这很好、这意味着问题很可能来自您的 firmware_v4文件。 如果您在将 OAD 添加到项目中时需要帮助、可以使用 有关此主题的 SimpleLink Academy 指南

    此致、
    Maxence

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

    尊敬的 Maxence:

    我按照 SimpleLink Academy 中的所有步骤进行了操作、但固件的地址模式是具有公共 ID 的 RPA、并检查了 MITM 保护和绑定:

    这些变化是否会成为失败的因素?  非常感谢!

    此致、

    Jermyn  

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

    您好!

    这些参数不应影响固件的加载、因为它们是在 OAD 完成后使用的。 如果您在尝试重现 SimpleLink Academy 时遇到问题、建议您在新的工作区中重新启动、因为您可能无意中修改了一些示例文件。



    此致、
    Maxence

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

    尊敬的 Maxence:  

    然后再试一下。 我不确定还有另一项变化:

    对于链接器文件、原始行为:

     ${COM_TI_SIMPLELINK_CC13XX_CC26XX_SDK_INSTALL_DIR}/examples/rtos/CC26X2R1_LAUNCHXL/ble5stack/simple_peripheral_oad_onchip/tirtos7/ticlang/cc13x2_cc26x2_app_tirtos7.cmd

    我将其更改为:

    ${COM_TI_SIMPLELINK_CC13XX_CC26XX_SDK_INSTALL_DIR}/examples/rtos/LP_CC2652R7/ble5stack/simple_peripheral_oad_onchip/tirtos7/ticlang/cc13x2x7_cc26x2x7_app_tirtos7.cmd

    因为我的 CC2652R7 LaunchPad 的链接器文件路径为:

    C:\ti\simplelink_cc13xx_cc26xx_sdk_7_40_00_77\examples\rtos\LP_CC2652R7\ble5stack\simple_peripheral_oad_onchip\tirtos7\ticlang

    我是否使用正确的链接器文件? 非常感谢。

    我的固件基于 simplelink_cc13xx_cc26xx_sdk_7_40_00_77、那么我是否需要使用同一 SDK 版本中的 bim_onchip 和 persistent_app?

    此致、

    Jermyn

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

    您好!

    是的、这应该是正确的链接器文件。
    至于 bim_onchip 和 persistent_app 的版本、您应该打算使用与 SDK 相同的版本、原因就在这里。

    此致、
    Maxence