两个问题请教:
1.0 目前CC2640R2F最新的SDK为 simplelink_cc2640r2_sdk_3_20_00_21,在multi_role例程中增加设置带宽函数:HCI_LE_SetDefaultPhyCmd(LL_PHY_USE_PHY_PARAM ,LL_PHY_2_MBPS, LL_PHY_2_MBPS);
编译后提示unresolved symbol HCI_LE_SetDefaultPhyCmd, first referenced in <whole-program>,将SDK降低到simplelink_cc2640r2_sdk_1_40_00_45版本,同样的操作就可以编译通过,请问这是什么问题?
新老版本SDK中添加设置发射功率和高增益都可以编译过,只有HCI_LE_SetDefaultPhyCmd报错,但是这三个函数都出自同一个库文件。
HCI_EXT_SetTxPowerCmd(5);
HCI_EXT_SetRxGainCmd(HCI_EXT_RX_GAIN_HIGH);
2.0 sdk_1_40_00_45老版本中ble5stack和blestack文件夹下都有multi_role例程,请问有什么区别。
sdk_3_20_00_21最新版本中只有blestack文件夹下有multi_role例程,但默认的PHY是1M,需要自己初始化为2M,因第一个问题无法解决,所以卡在这里。
请协助帮忙解决,谢谢
Alvin Chen:
HCI_LE_SetDefaultPhyCmd 为ble5 stack 可以使用的。blestack 不能使用。你在1.40能编译也是指的ble5吧。 由于芯片自身flash以及ram问题TI 在新版Ble5-stack没有提供multi_role。
user4546979:
回复 Alvin Chen:
1.40版本SDK,ble5stack文件夹下的multi_role例程编译通过。 3.2版本SDK,ble5stack文件夹下simple_peripheral编译通过。 3.2版本SDK,blestack文件夹下multi_rolel编译不过。 意思是说HCI_LE_SetDefaultPhyCmd只能在ble5stack文件夹下的例程中实现吗?而blestack文件夹的例程都不支持2M的带宽? 因为我目前的代码大概十多K,超出了flash空间。1.40版本ble5stack文件夹下的multi_role占用93%,而3.2版本blestack文件夹下的multi_role占用73%,所以想升级SDK,扩大用户APP的编写空间。 请问如何解决上述问题,十分感谢
user4546979:
回复 Alvin Chen:
1.40版本SDK,ble5stack文件夹下的multi_role例程编译通过。
3.2版本SDK,ble5stack文件夹下simple_peripheral编译通过。
3.2版本SDK,blestack文件夹下multi_rolel编译不过。意思是说HCI_LE_SetDefaultPhyCmd只能在ble5stack文件夹下的例程中实现吗?而blestack文件夹的例程都不支持2M的带宽?
因为我目前的代码大概十多K,超出了flash空间。1.40版本ble5stack文件夹下的multi_role占用93%,而3.2版本blestack文件夹下的multi_role占用73%,所以想升级SDK,扩大用户APP的编写空间。请问如何解决上述问题,十分感谢
Alvin Chen:
回复 user4546979:
HCI_LE_SetDefaultPhyCmd 只能在ble5stack 使用。
第二个问题:之所以减少时又由于3.20SDK里面的multi_role是blestack。
由于BLE5-Stack自身占用资源较多,而multi_role占用最多,如果代码量过大,建议更换CC2652R
user4546979:
回复 Alvin Chen:
SDK升级后,BLE5-Stack自身占用资源较多,基于CC2640R2F有限的flash,导致ble5stack 下的multi_role无法实现对吗?只能实现simple_central和simple_peripheral?
user4546979:
回复 Alvin Chen:
网上说CC2640R2F的BLE4.2的协议栈大部分固化到了rom中,留给用户的有80多K。那5.0协议栈是否大部分放到了ROM里?
比较奇怪的是128K的可编程FLASH留给用户的只有20多k,剩下的100k除了存放SDK的库文件外,还存放了部分5.0协议栈吗?