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

CC2652RB: persistent app 的 bug

Part Number:CC2652RB

Hi Ti,

我在看 persistent app 时发现如下代码段:(注释的是源代码,我加了我认为正确的代码进行测试,测试结果没问题)

   

根据 GapAdv_disable() 的声明,这个函数参数个数都不对,所以我认为是 Bug.

相应地,BTool 工具也有一些 bug,描述如下:

1. 在 BTool 连接成功后,如果因为某些疑问导致连接不正常断开,再次点连接后,BTool 会出现两个已连接设备,如下:

这就直接导致了升级过程中的问题:

user_app 在触发升级后经 reset 进入 persistent_app,而这个时候的 user_app 的 Handle 还在,又增加了一个 persistent_app 的 Handle,

所以,某些情况下 BTool 工具就会把再次向实际已经失效的 user_app 的 Handle 发送 升级包,导致对方无响应,从而升级失败。

不知道我理解的对不对?

多谢!

Kevin Qiu1:

junde deng 说:根据 GapAdv_disable() 的声明,这个函数参数个数都不对,所以我认为是 Bug.

编辑一下,我确实在persistent app中看到了具有多个参数的代码,在simple_peripheral.c则是正常的

我会向Team确认一下

Btool这个我不能复现,断开连接时Btool中的从机信息就会消失,建议你用SDK5.20中的Btool进行测试

,

junde deng:

Kevin Qiu1 说:Btool这个我不能复现,断开连接时Btool中的从机信息就会消失,建议你用SDK5.20中的Btool进行测试

我的也会消失,但是要等一小会儿,这对于 reset 后立刻发包的 persistent_app 来说,这个时间就足够造成问题了。

,

Kevin Qiu1:

在persistent_app中,GapAdv_disable是在icall_ble_api.h中定义

#define GapAdv_disable(...)(icall_directAPI(ICALL_SERVICE_CLASS_BLE, (uint32_t) IDX_GapAdv_disable , ##__VA_ARGS__))

##__VA_ARGS__ 是在C99规范中新增的,你可以查下它的具体用法

junde deng 说:这对于 reset 后立刻发包的 persistent_app 来说,这个时间就足够造成问题了。

OAD升级过程中断开连接会导致升级失败,因此升级时不能断开连接

赞(0)
未经允许不得转载:TI中文支持网 » CC2652RB: persistent app 的 bug
分享到: 更多 (0)