Part Number: CC2340R5
I am trying to determine the current practical status of Bluetooth LE peripheral support for LP-EM-CC2340R5 using TI’s Zephyr support.
We have a very small Zephyr BLE peripheral application that already runs on Nordic Zephyr targets, and we would like to use the same application as a CC2340R5 reference-stack baseline.
The application is intentionally minimal and uses standard Zephyr Bluetooth/GATT APIs:
-
bt_enable(NULL) -
bt_le_adv_start(...) -
BT_GATT_SERVICE_DEFINE -
BT_GATT_PRIMARY_SERVICE -
BT_GATT_CHARACTERISTIC -
BT_CONN_CB_DEFINE
The GATT database is:
-
custom 128-bit primary service UUID:
0000b100-0000-1000-8000-00805f9b34fb -
readable Status characteristic:
0000b101-0000-1000-8000-00805f9b34fb -
writable Command characteristic:
0000b102-0000-1000-8000-00805f9b34fb
The central transaction is also simple:
-
connect to the peripheral
-
perform targeted service discovery
-
perform targeted characteristic discovery
-
write one byte to the Command characteristic
-
read one byte from the Status characteristic
-
disconnect
-
repeat for power measurement
The current prj.conf is minimal:
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
On Nordic we also set controller TX power to 0 dBm and restrict advertising to channel 37 for easier sniffer capture, but those are not essential for initial bring-up.
Questions:
-
Does TI’s current Zephyr support include functional BLE peripheral mode on CC2340R5?
-
Is LP-EM-CC2340R5 currently supported for custom GATT peripheral applications using the standard Zephyr Bluetooth APIs above?
-
Which repository, branch/tag, and SDK version should be used today?
-
What is the correct Zephyr board target? Is it
lp_em_cc2340r5? -
Is
zephyr/samples/bluetooth/peripheralknown to work on LP-EM-CC2340R5? -
What is the recommended build command for a minimal BLE peripheral?
-
What is the recommended flash/debug flow? For example, should we use J-Link with
west flash, CCS/XDS110, or another flow? -
Are there required or recommended CC2340R5-specific Kconfig settings for BLE peripheral mode?
-
Are there important limitations compared with TI’s native BLE5 stack, especially around GATT peripheral behavior, connection stability, power management, RAM usage, logging, or controller features?
-
If Zephyr BLE peripheral mode is not currently ready or not recommended for CC2340R5, is TI’s native BLE5 stack the recommended path for a reference-stack BLE peripheral baseline?
The goal is not to use any advanced BLE feature. We only need a minimal custom GATT peripheral that can complete a repeated connect/discover/write/read/disconnect transaction for power measurement.
I can attach the full main.c and prj.conf if helpful.
Thanks,
Bob (with help from my ChatGPT assistant)