您好!
我已经了解到 CC2640R2没有 BLE 5多角色示例、因为中央和外设角色不能组合在闪存中。 我的问题是、观察者+广播者角色如何? 它们是否适合闪存?
谢谢、
Eyal
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.
您好!
我已经了解到 CC2640R2没有 BLE 5多角色示例、因为中央和外设角色不能组合在闪存中。 我的问题是、观察者+广播者角色如何? 它们是否适合闪存?
谢谢、
Eyal
您好、Eyal、
如果使用 BLE4堆栈、则观测器+广播设备项目应适合 CC2640R2。 但是、在 BLE5堆栈上执行此操作可能很困难。
我建议参考 用户指南中的将 AUX RAM 用作 RAM 和将高速缓存用作 RAM 部分。 我还建议参考 无限制扫描 部分[仅限 BLE4]。 这些部分提供了一些为 CC2640R2应用获取更多 RAM 的策略。
我也建议只包括必要的功能。 如果您从 BLE5 simple_peripheral 项目开始、那么我建议参考以下 E2E 线程:
https://e2e.ti.com/f/1/t/879265
2 .https://e2e.ti.com/f/1/t/880139
https://e2e.ti.com/f/1/t/880163
https://e2e.ti.com/f/1/t/880151/
先前链接的线程讨论了可以对示例进行的更改、以尽可能节省空间
如果不需要 BLE5、那么我建议针对这样的项目使用器件上的 BLE4堆栈。 但是,如果有必要,我建议参考前面链接的文件,并添加必要的内容。 如果您没有进行任何连接并且只是进行扫描和广播、那么您可能能够将应用程序安装在 BLE5堆栈上、但这一点之前尚未得到验证。
此致、
1月
感谢您的回答。 我仅需要 BLE 5用于扩展广播能力(使用1M PHY)。
我使用了 BLE 5堆栈中的简单广播设备示例、并删除了所有显示功能。 现在、它的闪存使用率为47%。 我已经从不同示例中复制了 Scan_Init 和 Scan_CB 函数(当然、还 修改了名称和#defines)、但我仍然遇到错误:
"未解析的符号 GapScan_registerCb、首先在中引用 "
与 GAP_Scanner 相关的每个函数。
我已经尝试 #include 位于 Main.c 和 simple_broadcaster .c 的顶部、但它没有帮助。
是否可能需要在项目中包含预处理器#define (例如、当您想要周期性同步时、您需要添加#define USE_RETERRAY_ADV)? 或者可能需要编辑一些.cfg 文件以包含 GAP 扫描仪功能?
我不知疲倦地介绍了 simple_central 示例和 CC2642的多角色示例(我知道这是一个不同的 SDK、但堆栈功能几乎完全相同)。simple_broadcaster 具有 #include 它包含 所有 iCall API -包括 GAP 扫描仪。
我看不到任何实际的预定义符号、因为它们都被组合在 ${COM_TI_SIMPLELINK_CC2640R2_SDK_symbols}下、我不知道它包含什么、尽管查看此 SDK 的堆栈配置、似乎没有任何相关的内容需要添加。
我尝试将 ble5_simple_central_cc2640r2lp_stack_library 添加为项目参考、但没有成功。
我已经尝试更改 ble5_simple_broadcaster _cc2640r2lp_stack_library\tools\下的 build_conofig.opt
/* BLE Host Build Configurations */ /* -DHOST_CONFIG=PERIPHERAL_CFG */ /* -DHOST_CONFIG=CENTRAL_CFG */ /* -DHOST_CONFIG=BROADCASTER_CFG */ <-Comment Out /* -DHOST_CONFIG=OBSERVER_CFG */ /* -DHOST_CONFIG=PERIPHERAL_CFG+OBSERVER_CFG */ -DHOST_CONFIG=CENTRAL_CFG+BROADCASTER_CFG <-Comment in /* -DHOST_CONFIG=PERIPHERAL_CFG+CENTRAL_CFG */ /* -DHOST_CONFIG=BROADCASTER_CFG+OBSERVER_CFG */
但是、这只会将以前的"未解析符号"错误替换为给出错误的不同函数。
阅读相关内容、问题似乎出在 ble5_simple_broadcaster _cc2640r2lp_stack_library.lib 中、 它出现在 ble5_simple_broadcaster _cc2640r2lp_stack_library\FlashROM_Library\中
似乎我需要一个链接相关库 的.lib、尽管我不知道从哪里开始。
这个问题对我们的项目非常重要、我们非常感谢任何专业和深入的帮助。
您好、Eyal、
我做了一些进一步的研究、发现以下主题提供了一些有用的信息: https://e2e.ti.com/f/1/t/739609
您能否截取您观察到的内存分配的屏幕截图? 应用程序中的空间可能会不足。
此致、
1月
您好、Jan、
成功! 根据链接的论坛、我只需 手动将 gattservapp_util.c 和 sm_ecc.c 添加到项目中。 连同 BUILING_CONofig.opt 的编辑、代码已经符合并且没有错误。 闪存大小为96、046kb (75%)、这一点还不错。
我将在周日测试功能、如果发现功能、我将解决该问题。 我强烈建议 TI 为 BLE 5 简单广播设备+观测器添加一个工作示例、因为它看起来在合理的闪存大小内、并且是一个追求功能的示例。
谢谢、
Eyal