Other Parts Discussed in Thread: CC2340R5
器件型号: CC2340R5
我正在尝试 使用 TI 的 Zephyr 支持来确定 LP-EM-CC2340R5 低功耗蓝牙外设支持的当前实际状态。
我们有一个非常小的 Zephyr BLE 外设应用、该应用已在 Nordic Zephyr 目标上运行、因此我们希望使用与 CC2340R5 参考堆栈基线相同的应用。
该应用有意设置为超小规模、并使用标准 Zephyr 蓝牙/GATT API:
-
bt_enable(NULL) -
bt_le_adv_start(...) -
BT_GATT_SERVICE_DEFINE -
BT_GATT_PRIMARY_SERVICE -
BT_GATT_CHARACTERISTIC -
BT_CONN_CB_DEFINE
GATT 数据库为:
-
定制 128 位主要服务 UUID:
0000b100-0000-1000-8000-00805f9b34fb -
可读状态特性:
0000b101-0000-1000-8000-00805f9b34fb -
可写命令特性:
0000b102-0000-1000-8000-00805f9b34fb
中央交易也很简单:
-
连接到外设
-
执行有针对性的服务发现
-
执行目标特征发现
-
向命令特性写入一个字节
-
从 Status 特性读取一个字节
-
断开连接
-
重复进行功率测量
电流 prj.conf 最小:
CONFIG_BT=y
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_DEVICE_NAME="BlueJoule-GATT"
CONFIG_BT_DEVICE_APPEARANCE=0
CONFIG_BT_AUTO_PHY_UPDATE=n
CONFIG_BT_CTLR_PHY_2M=n
CONFIG_BT_CTLR_PHY_CODED=n
CONFIG_BT_DATA_LEN_UPDATE=n
CONFIG_BT_SMP=n
CONFIG_BT_SETTINGS=n
CONFIG_BT_GATT_CACHING=n
CONFIG_SERIAL=n
CONFIG_CONSOLE=n
CONFIG_PRINTK=n
CONFIG_LOG=n
在 Nordic 上、我们还将控制器 TX 功率设置为 0dBm、并将广播限制在信道 37 以简化监听器捕获、但这些并不是初始启动所必需的。
问题:
-
TI 当前的 Zephyr 支持是否在 CC2340R5 上包含功能 BLE 外设模式?
-
使用上述标准 Zephyr 蓝牙 API 的自定义 GATT 外设应用目前是否支持 LP-EM-CC2340R5?
-
今天应使用哪个存储库、分支/tag 和 SDK 版本?
-
什么是正确的 Zephyr 板目标? 是
lp_em_cc2340r5不是? -
zephyr/samples/bluetooth/peripheral已知可在 LP-EM-CC2340R5 上运行吗? -
对于最小 BLE 外设、建议的构建命令是什么?
-
推荐的闪存/调试流程是什么? 例如、我们是否应该使用 J-Link 和
west flash、CCS/XDS110 或其他流程? -
BLE 外设模式是否有必需或建议的 CC2340R5 特定 Kconfig 设置?
-
与 TI 本机 BLE5 栈相比有重要的限制、尤其是在 GATT 外设行为、连接稳定性、电源管理、RAM 使用、日志记录、 或控制器功能?
-
如果 Zephyr BLE 外设模式当前未就绪或不推荐用于 CC2340R5、TI 的本机 BLE5 堆栈是否是参考堆栈 BLE 外设基线的建议路径?
目标是不使用任何高级的 BLE 功能。 我们只需要一个极少的自定义 GATT 外设、用于完成用于功率测量的重复连接/发现/写入/读取/断开事务。
我可以附上完整的, main.c prj.conf 如果有帮助。
谢谢、
Bob(在我的 ChatGPT 助手的帮助下)