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.

[FAQ] [参考译文] [常见问题解答] CC2640R2F:SIMPLELINK-CC2640R2-SDK_BLE5已知问题和修复

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/770322/faq-cc2640r2f-simplelink-cc2640r2-sdk_ble5-known-issues-and-fixes

器件型号:CC2640R2F

simplelink_cc2640r2_sdk_3_30_00_20

1.从未清除[BTool 已发现的设备列表

2. 以下配置不可用于主机测试:

  • 外设+观测器
  • 中央+广播设备
  • 外设+中央设备。

 调用 HCI_LE_Rand 时、主机测试和其他应用程序不会接收 HCI 命令完成

支持 的最大并发 BLE 连接数:2 (嵌入式示例应用)和3 (主机测试)。 使用缓存为 RAM 时、可以支持其他连接

5. 不支持定期广告

6. 尝试并发 LE Secure Connections 配对时,同时连接的数量可能会受到限制

使用 2M PHY 扫描扩展广播时出现问题

使用看门狗时、TI ROV 将显示未初始化的任务对象。 这是预期的。 请访问 https://e2e.ti.com/support/processors/f/791/p/827739/3061540。

simplelink_cc2640r2_sdk_3_20_00_21

不 支持主机测试外设+中央编译

支持 的最大并发 BLE 连接数:2 (嵌入式示例应用)和3 (主机测试)。 将高速缓存用作 RAM 时、可支持其他连接

使用 2M PHY 扫描扩展广播时出现问题

4.从设备中排队的参数更新导致设备崩溃的已知问题

在 SimplePeripheral_processParamUpdate()中,param 更新数据和时钟只应在更新状态为 bleAlreadyInRequestedMode 时释放/破坏。 因此、此释放/析构操作应围绕此状态进行检查:

//发送参数更新 bStatus_t status = GAP_UpdateLinkParamReq (&req);//如果有正在进行的更新,则将此更新排队等待 udpate 完成(status = bleAlreadyInRequestedMode){spalloc HandleEntry_t * connconnHandleEntry = iCall_mstruct (eClock);{&nconnectureList);{sprendeCall_connClock_connHandleHandleListsprend&nconn&;{=nconnect}{&;[unClock_connect}{&;{&;{&;{&nconnClock_connHandleHandleList) //自由时钟结构 iCall_free (connList[connIndex].pUpdateClock);connList[connIndex].pUpdateClock = NULL;// Free ParamUpdateEventData iCall_free (connList[connIndex].pParamUpdateEventData);}

5.使用看门狗时,TI ROV 将显示一个未初始化的任务对象。 这是预期的。 请访问 e2e.ti.com/.../3061540。

simplelink_cc2640r2_sdk_3_10_00_15

1.从设备中排队的参数更新导致设备崩溃的已知问题

在 SimplePeripheral_processParamUpdate()中,param 更新数据和时钟只应在更新状态为 bleAlreadyInRequestedMode 时释放/破坏。 因此、此释放/析构操作应围绕此状态进行检查:

//发送参数更新
bStatus_t status = GAP_UpdateLinkParamReq (&req);

//如果有正在进行的更新,则将此更新排队等待 udpate 完成
(status = bleAlreadyInRequestedMode)
{
spalloc HandleEntry_t * connconnHandleEntry = iCall_mstruct (eClock


);{&nconnectureList)

;{sprendeCall_connClock_connHandleHandleListsprend&nconn&;{=nconnect}{&;[unClock_connect}{&;{&;{&;{&nconnClock_connHandleHandleList)






//自由时钟结构
iCall_free (connList[connIndex].pUpdateClock);
connList[connIndex].pUpdateClock = NULL;
// Free ParamUpdateEventData
iCall_free (connList[connIndex].pParamUpdateEventData);
} 

simplelink_cc2640r2_sdk_2_40_00_32

 1.从设备中排队的 param 更新导致应用程序断言的已知问题

在堆栈配置中启用 DHCI_TL_PTM 时、ble5_simple_peripheral PTM 模式存在构建错误

答: 已定义的 HCI_TL_PTM 不再在堆栈中使用。

要使用 PTM 模式、应在堆栈项目中设置 HCI_TL_NONE、然后将整个 iCall_HCI_TL.c 替换为 此处注释中提供的以下代码片段

3.在 使用 GAP_ADV_ENABLE_OPTIONS_USE_DURATION 选项进行广播时、观察到一些问题、例如广播持续时间结束时器件终止。 当前的权变措施是使用软件计时器停止广播、而不是使用 GAP_ADV_ENABLE_OPTIONS_USE_DURATION 选项。  

simplelink_cc2640r2_sdk_2_30_00_28

 1.从设备中排队的 param 更新导致应用程序断言的已知问题

2. 在 SimplePeripheral_processParamUpdate (和多角色项目)中

更改自:

list_put (&paramUpdateList、(List_Elem *)&connHandleEntry); 

至:

list_put (&paramUpdateList、(List_Elem *) connHandleEntry); 

simplelink_cc2640r2_sdk_2_20_00_49

1.当我在  预定义符号中使用 CC2640R2DK_5XD /CC2640R2DK_4XS 时、工程将无法编译。如何解决此问题?

答: 遗憾的是、5XD /4XS 的电路板文件未相应更新、将在下一版本中修复。 可通过将  simplelink_cc2640r2_sdk_2_20_00_49\source\ti\blestack\boards\CC2640R2DK_4XS (5xD)\CC2640R2DK_4XS (5xD).c 中的 RFCC26XX_hwAttrs 部分替换为以下代码来解决此问题。

const RFCC26XX_HWAttrsV2 RFCC26XX_hwAttrs ={
.hwiPriority =~0、 /*最低 HWI 优先级*/
.wiPriority = 0、 /*最低 SWI 优先级*/
.xoscHfAlwaysNeeded = true、 /*在 stanby 中保持 XOSC 依赖性*/
globalCallback =空、 /*无特定于电路板的回调*/
globalEventMask = 0 /*未订阅事件*/
}; 

simplelink_cc2640r2_sdk_1_50_00_58

 1.当我 在预定义符号中添加 CC2640R2DK_5XD 时、工程不会编译。如何解决此问题?

答: 您可以将 cc2650em 文件夹从 simplelink_cc2640r2_sdk_1_40_00_45 -->源码--> ti --> blestack -->目标复制到 simplelink_cc2640r2_sdk_1_50_00_58中的相应结构。

simplelink_cc2640r2_sdk_1_40_00_45

1.无法禁用 multi_role 上的非连接广播。

要解决此问题、请在 multi.c 上、在收到 GAP_make_Discovery_don_event 时注释 gapRole_AdvEnabled 的分配为 true。

//如果
(pMsg->opcode =gap_make_Discovery_doad_event)
{
//gapRole_AdvEnabled = true、
}则开始广播 

simplelink_cc2640r2_sdk_1_35

1.重启电源后无法重新连接到以前绑定的设备。

要解决此问题、请在 gapRole_state = GAPROLE_Started 之前、在 peripheral.c 中的 gapRole_processGAPMsg 函数中的 gap_device_init_don_event 中添加以下行:

uint8_t gapAllowPrivacyMode = true;
GAPBondMgr_SetParameter (GAPBOND_ALLOW_DEVICE_MODE,sizeof (uint8_t),&gapAllowPrivacyMode);