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.

[参考译文] CC2640R2F:OAD FW 更新失败-按原样使用提供的 CC2640R2 BLE SDK 1.35.00.33示例

Guru**** 2583445 points
Other Parts Discussed in Thread: CC2640

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/594240/cc2640r2f-oad-fw-update-fails---using-provided-cc2640r2-ble-sdk-1-35-00-33-examples-as-is

器件型号:CC2640R2F
主题中讨论的其他器件:CC2640

BLE SDK v1.35.00.33

BTool v1.41.17

闪存编程器2 v1.7.5内部版本#16

CCS v 7.1.0.00016

在尝试使用 SDK 示例代码对 CC2640R2进行片上 OAD FW 更新时、我从 BTool 收到一条"OAD download not successful"消息。 下面是我执行的步骤、随附的是 BTool 传输输出的日志。 我不确定问题是什么以及失败的原因。

  1. 导入了 bim_oad_onchip_cc2640lp_app + oad_target 栈项目并进行了编译
  2. 导入并编译了 OAD_TARGET 应用程序
  3. 修复了 OAD_TARGET 应用编译的两个问题(将.text 更改为使用两个>而不是一个、将 FLASH_IMG_A_START 的#define 更改为 FLASH_START+FLASH_OAD_IMG_HDR_SIZE)
  4. 已成功构建 OAD_TARGET 应用程序
  5. 导入并编译了 simple_peripheral_oad_onchip 示例
  6. 使用这些映像对我的 CC2640之一进行编程  
  7. 使用 SDK 中包含的 host_test 二进制文件对我的另一个 CC2640进行编程(作为 OAD 下载程序)
  8. 打开 BTool、连接到 OAD 下行加载程序、发现了 OAD 目标"简单外设"并尝试了 OAD 更新

附件:e2e.ti.com/.../OAD_5F00_fail.txt

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

    您似乎没有通过 OAD 重置服务跳回到目标映像。

    对于片上、正常流程为:

    1.连接到映像 B 应用程序并使用 OAD 复位服务复位器件。 您可以通过向服务写入0x01来执行此操作。 您必须通过 BTool 手动执行此操作
    请访问 software-dl.ti.com/.../oad.html

    2.设备重新启动后,重新连接。 器件现在应运行目标映像(映像 A)。

    3.然后将 OAD 映像加载到 BTool 中并单击"发送"。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    感谢 Sean 的回复。 为了为未来的读者详细说明、必须执行以下操作:

    1. 使用属性句柄将值0x01写入复位服务特性
    2. 然后您将看到连接终止(显示为在日志窗口中看到成功后写入失败)
    3. 最后、单击 Discover/Connect 选项卡中的 Cancel (取消)以断开您的中央设备、以便重新扫描新的广播"OAD Target Image A"(OAD 目标映像 A)
    4. 转至 OAD 选项卡并按照上的说明   完成该过程。
    5. 您将看到 OAD 传输成功
    6. 现在、您必须手动重新引导设备、您将看到新的广播器映像。