TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2340R5: Address Mode设置引起的OAD和名称实时更新冲突

Part Number:CC2340R5

BLE->General Configuration->Address Mode设置为RPA with Public ID,手动修改的设备名称可以实时更新,但是这个会导致OAD卡在Device Reset,不会自动执行download。

BLE->General Configuration->Address Mode设置为Public Address,OAD执行Device Reset之后可以自动执行下载,但是修改的设备名刷新会很慢。

如何设置才能兼顾OAD和设备名实时刷新?

Yolande Wang:

您好,

根据这个帖子的描述,您目前遇到的问题似乎是 SDK 中有 Bug 待修复:

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1292499/cc2340r5-about-oad-update-address-mode?tisearch=e2e-sitesearch&keymatch=address%20mode%20oad#

,

Xuefeng:

谢谢,我看完了这个帖子。

看结论是只有iOS有这个问题。

两个月了,这个问题还没有解决吗?

,

Yolande Wang:

这个问题我会去询问一下更资深的工程师,请等候回复。

,

Yolande Wang:

非常抱歉,仅在 iOS 设备上重现的问题仍在审查中。

您可以用安卓手机复现此现象吗?

,

Xuefeng:

谢谢回复。

目前这边安卓手机下载不到simplelink connect这个应用;我们这边没有安卓开发环境,GitHub上的代码我们这里也编不了。

,

Yolande Wang:

等下 iOS App 更新,已经催促过了。

,

Xuefeng:

谢谢!

可以提供一个安卓的apk安装测试吗?

,

Yolande Wang:

这个文件我发到您的邮箱。

,

Xuefeng:

邮箱已经私发给你,谢谢。

,

Yolande Wang:

不客气,我已发送到邮箱,请注意查收。

,

Xuefeng:

使用安卓的simplelink connect更新BLE,点击update后提示Device Reset,过几十秒后提示OAD service reset failed。

所以这个问题可能和Address Mode设置无关?而是RPA设置导致BLE OAD service失败?

,

Yolande Wang:

您有选这个选项吗:Initiate a pairing requeset

,

Xuefeng:

测试了Pairing Mode设置为Initiate a pairing request,同样的错误。

,

Yolande Wang:

寻址改了,flash_map_backend.h 文件也要进行修改。

是否可以按照链接中此回复提到的修改步骤进行尝试:

,

Xuefeng:

寻址已经修改并且重新编译了mcuboot,所以Address Mode是Public Address的情况下才可以正常OAD。

目前出问题的只是Address Mode设置为RPA。

,

Yolande Wang:

正在跟进问题,请等候一下。

,

Yolande Wang:

当设备使用 RPA 时,即使定期刷新其地址,它也必须与移动应用程序绑定才能被识别为“同一设备”。

使用片上 OAD 时的 OAD 过程包括 1) 连接到应用程序,2) 重置目标,3) 连接到持久应用程序。但是,当设备在步骤 #3 进行广播时,它使用的地址与它在步骤#1 中使用的那个。

此“问题”会阻止移动应用程序识别设备并重新连接到设备以继续 OAD 过程。这会导致超时并最终导致您提到的错误消息。 

解决方法包括使用 iOS 的蓝牙接口连接和配对 CC2340R5。设备配对后,即可通过 SimpleLink Connect 移动应用程序运行 OAD 流程。

这种行为在 iOS 中很难修复,这就是我建议这种解决方法的原因。

,

Xuefeng:

这个没有办法把相应的信息从oad-on-chip发到persistent吗?

,

Yolande Wang:

可以考虑在执行设备名称修改操作时,同时将名称写入到持久存储中。

,

Xuefeng:

名字已经写入SNV。但是Public Address模式下更新名字时效性不能满足需求。

,

Yolande Wang:

Yolande Wang 说:解决方法包括使用 iOS 的蓝牙接口连接和配对 CC2340R5。设备配对后,即可通过 SimpleLink Connect 移动应用程序运行 OAD 流程。

如果考虑从 RPA 角度解决此问题,可以参考上述建议。

,

Xuefeng:

BLE设置为Initiate a pairing request要输入的执行代码要在哪里查看?

,

Yolande Wang:

应该只能通过 log 去查看

,

Xuefeng:

我没有输入任何字符,直接点击配对,也可以连接。连接后测试OAD,simplelink没有跳转到下载,点击取消退出,广播已经是persistent app。

这种情况和输入正确密钥配对有什么区别吗?

,

Yolande Wang:

在蓝牙配对过程中,是否输入正确的配对密钥通常取决于配对模式和配对过程的设置。

一般来说,配对过程中输入正确的配对密钥可以增加安全性,但在某些情况下可能不是必需的。

,

Xuefeng:

Yolande Wang 说:

在蓝牙配对过程中,是否输入正确的配对密钥通常取决于配对模式和配对过程的设置。

一般来说,配对过程中输入正确的配对密钥可以增加安全性,但在某些情况下可能不是必需的。

谢谢解答。

现在RPA地址模式下调整配对模式并没有影响结果。那么我们是否有办法把RPA相关信息从oad-on-chip传递给persistent呢?目前的现象是跳转到persistent的过程中地址发生了改变,导致失去了连接,我们是不是确保两边地址一致就可以保持连接?

,

Yolande Wang:

random public address 不需要在 OTA 的情形下。

,

Xuefeng:

radom public address我设置了C01100110011, 启动后设置名字的功能不生效,也无法debug。

,

Yolande Wang:

在 OAD 期间,RPA 可能会更新地址,影响 OAD 流程中的身份验证,因为 OAD 服务器可能需要知道设备的确切地址才能执行更新。

而 PA 模式下,设备使用的是固定地址进行通讯,使得 OAD 更新过程更容易进行身份验证和连接。

Xuefeng 说:radom public address我设置了C01100110011, 启动后设置名字的功能不生效,也无法debug。

可以看下这个连接:https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1265754/cc2340r5-basic_ble-crashes-using-static-random-address?tisearch=e2e-sitesearch&keymatch=random%25252520public%25252520address#

赞(0)
未经允许不得转载:TI中文支持网 » CC2340R5: Address Mode设置引起的OAD和名称实时更新冲突
分享到: 更多 (0)