NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

CC256x TI's Bluetooth Stack

From Texas Instruments Wiki
Jump to: navigation, search

Return to CC256x Main Wiki

Introduction[edit]

  • TI’s Bluetooth stack is upper layer Bluetooth Protocol Stack implementation. The TI’s Bluetooth stack supports the MSP430, MSP432, Tiva and STM32 devices using either the CCS or IAR tool chains. The TI’s Bluetooth stack includes the core protocol stack with Low Energy support (BLE), the Serial Port Profile (SPP), the Generic Attribute Profile (GATT) and various Low Energy services. The software can be obtained from here
  • The TI’s Bluetooth stack is a software solution that resides above the Physical HCI (Host Controller Interface) Transport Layer and extends through the Logical Link Control and Adaptation Protocol (L2CAP) and the Synchronous Connection-Oriented (SCO/eSCO) Link layers. In addition to basic functionality at these layers, TI’s Bluetooth stack provides implementations of the Service Discovery Protocol (SDP), Radio Frequency serial COMMunications port emulator (RFCOMM), and several of the Bluetooth Profiles. Program access to these layers, services, and profiles is handled via Application Programming Interface (API) calls.


MSP432P401R Lauchpad[edit]


CC256XCMSP432BTBLE_Solution


To work with the CC2564C device with supported Bluetooth 4.2 support, please visit the MSP432 Getting Started Guide.
The TI Dual-mode Bluetooth Stack for the CC2564C on MSP432 SDK can be found here (CC256XCMSP432BTBLESW).











CC256XMSP432BTBLE_Solution


To work with the MSP432P401R Launchpad board Texas Instruments provides the CC256x Booster Pack (BOOST-CC2564MODA)
with TI Dual-mode Bluetooth Stack on MSP432 SDK (CC256XMSP432BTBLESW).
For older CC256x variants such as the CC2564B, visit the following Getting Started Guide.




To demonstrate Voice and Audio use cases, the CC3200 Audio Booster Pack (CC3200AUDBOOST) may be used (see below).  
CC256XMSP432BTBLE_Audio












MSP430 EVM[edit]

Demo Setup Overview
The TI Bluetooth stack includes sample applications directory with source code which demonstrates the use of the TI’s Bluetooth stack.
These sample applications are a simple, command line application which will display a list of available commands.
Input and Output can be utilized by plugging in the MSP430 Experimenter board Serial to USB debugging connector to a PC.
 For platform setup and Demo information please visit the MSP430 Getting Started Guide.







TM4C EVM[edit]

For platform setup and Demo information please visit the Tiva Getting Started Guide
Dk-tm4c123g
Dk-TM4C123GX Board + CC2564x







Dk-tm4c129g
Dk-TM4C129GX Board + CC2564x












STM32F4 EVM[edit]


STM32-Discovery_CC256XQFN-EM_STADAPT
The CC2564C device comes with Bluetooth 4.2 support and the TI Dual-mode Bluetooth Stack on the STM32F4 SDK (CC2564CSTBTBLESW).
Please visit the STM432 Getting Started Guide.
To work with the STM32F4 EVM board Texas Instruments provides the CC256xBEM Bluetooth Adapter Kit and TI Dual-mode Bluetooth Stack on STM32F4 SDK (CC256XSTBTBLESW). For older CC256x variants, visit the following Getting Started Guide.
Input and Output can be utilized by plugging in the STM3240G-EVAL microUSB connector to a PC.




For hardware configuration of the boards visit the CC256xEM Bluetooth Adapter Kit User Guide








Architecture Overview[edit]


TI’s Bluetooth stack is designed such that the application programmer does not have to be aware of implementation details. To satisfy this requirement, TI’s Bluetooth stack is designed based on the following principles:

  • Fully thread safe (threaded environments)
  • Asynchronous event notification
  • Fully Re-entrant
  • Entirely self contained (threaded environments)


BluetopiaArchitecture.jpg


  • The first item, being thread safe, means that multi-threaded applications can make TI’s Bluetooth stack calls without the need for synchronization events to guard access to the Bluetooth Protocol Stack (unless the application is designed such that it requires its own synchronization).
  • The second item, aids multi-threaded applications in that making a TI’s Bluetooth stack API call does not block the calling thread for long periods of time and requires no polling. TI’s Bluetooth stack is designed such that the application is notified of asynchronous events via application installed callbacks. These callbacks are called at the time an event occurs.
  • The third item, re-entrancy, means that all TI’s Bluetooth stack API calls are safe to be called from the asynchronous callback functions. This simplifies application development by not requiring the programmer to define messages or events based upon stack events (and having to notify the application of these events).
  • The final item, entirely self contained, means that the programmer does not have to call any functions to cause TI’s Bluetooth stack to function. An example of this would be a function to ‘pump’ a state machine. TI’s Bluetooth stack requires no such actions when operating in threaded environments. When TI’s Bluetooth stack is operating in a single threaded environment, functions will need to be called to periodically to process the Bluetooth state machine.



Profiles, Protocols and Services[edit]

Bluetooth SIG Adopted Specifications

NoteNote: The MSP432, STM32 and AM335x Bluetooth Stack software each have two releases, one of which is for the CC256X device variants, while the other can be used with the new CC2564C release. The MSP432 and STM32 columns below reflect these versioning differences as (CC256XBTSTACK/CC2564CBTSTACK).

Classic Bluetooth[edit]

Traditional Profiles[edit]

Profile Version Role Core Stack MSP430
CC256XMSPBTBLESW
TM4C
CC256XM4BTBLESW
MSP432
CC256XMS432BTBLESW CC2564CMSP432BTBLESW
STM32
CC256XSTBTBLESW CC2564CSTBTBLESW
AM335x SDK Addon TIBTSTACKADDON
Advanced Audio Distribution Profile A2DP 1.2 Source
Sink
Supported v1.5R2 (Assisted A2DP) v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Audio/Video Remote Control Profile AVRCP 1.4 Target
Controller
Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Device ID Profile DI 1.3 N/A Supported Not Available Not Available Not Available Not Available v4.0.1.4.2/v4.0.3.0.1.0
File Transfer Profile FTP 1.1 Server
Client
Supported Not Available Not Available Not Available Not Available v4.0.1.4.2/v4.0.3.0.1.0
Generic Access Profile GAP (BT 4.0) N/A Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Generic Audio/Video Distribution Profile GAVDP 1.2 Initiator
Acceptor
Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Headset Profile HSP 1.2 Audio Gateway
Headset
Supported Not Available Not Available 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 Not Available
Health Device Profile HDP 1.0 Source
Sink
Supported Not Available Not Available Not Available Not Available v4.0.1.4.2/v4.0.3.0.1.0
HandsFree Profile HFP 1.6 Audio Gateway
Hands Free Unit
Supported v1.5R2
Hands Free Unit Role Only
v1.2R2
Hands Free Unit Role Only
4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Human Interface Device Profile HID 1.0 Host
Device
Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Message Access Profile MAP 1.0 Server
Client
Supported Not Available v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Object Push Profile OPP 1.1 Server
Client
Supported Not Available Not Available Not Available Not Available v4.0.1.4.2/v4.0.3.0.1.0
Personal Area Networking Profile PAN 1.0 Network Access Point
PAN User
Group Ad-hoc Network
Supported Not Available Not Available Not Available Not Available v4.0.1.4.2/v4.0.3.0.1.0
Phonebook Access Profile PBAP 1.0 Server
Client
Supported Not Available v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Serial Port Profile SPP 1.1 Device A
Device B
Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0



Protocols[edit]

Protocol Version Role Core Stack MSP430
CC256XMSPBTBLESW
TM4C
CC256XM4BTBLESW
MSP432
CC256XMS432BTBLESW CC2564CMSP432BTBLESW
STM32
CC256XSTBTBLESW CC2564CSTBTBLESW
AM335x SDK Addon TIBTSTACKADDON
Audio/Video ​​Control Transport Protocol AVCTP 1.3 N/A Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Audio/Video Distribution Transport Protocol AVDTP 1.2 Source
Sink
Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Logical Link Control and Adaptation Protocol L2CAP (BT 4.0) N/A Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
RFCOMM Protocol RFCOMM (vTBA) Device A
Device B
Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Service Discovery Protocol SDP (BT 4.0) N/A Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0



MFi[edit]

Protocol Version Role Core Stack MSP430
CC256XMSPBTBLESW
TM4C
CC256XM4BTBLESW
MSP432
CC256XMS432BTBLESW CC2564CMSP432BTBLESW
STM32
CC256XSTBTBLESW CC2564CSTBTBLESW
AM335x SDK Addon TIBTSTACKADDON
iAP iAP 1 / iAP 2 Server / Client Supported v1.5R2 Not Available 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 Not Available





Bluetooth Low Energy[edit]

LE Profiles and Services[edit]

Profile/Service Version Role Core Stack MSP430
CC256XMSPBTBLESW
TM4C
CC256XM4BTBLESW
MSP432
CC256XMS432BTBLESW CC2564CMSP432BTBLESW
STM32
CC256XSTBTBLESW CC2564CSTBTBLESW
AM335x SDK Addon TIBTSTACKADDON
Alert Notification Service ANS 1.0 N/A Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 Not Available
Alert Notification Profile ANP 1.0 Server
Client
Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 Not Available
Battery Service BAS 1.0 N/A Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Current Time Service CTS 1.0 N/A Supported Not Available Not Available Not Available Not Available Not Available
Cycling Speed and Cadence Service CSCS 1.0 N/A Supported Not Available Not Available v4.2.1.0 v4.2.1.0 Not Available
Cycling Speed and Cadence Profile CSCP 1.0 Collector
Sensor
Supported Not Available Not Available v4.2.1.0 v4.2.1.0 Not Available
Device Information Service DIS 1.1 N/A Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Find Me Profile FMP 1.0 Target
Locator
Supported v1.5R2 Not Available 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Generic Access Profile Service GAPS (BT 4.0) N/A Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Generic Attribute Profile GATT 1.0 Server
Client
Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Glucose Service GLS 1.0 N/A Supported Not Available Not Available Not Available Not Available Not Available
Glucose Profile GLP 1.0 Collector
Sensor
Supported Not Available Not Available Not Available Not Available Not Available
Health Thermometer Service HTS 1.0 N/A Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 Not Available
Health Thermometer Profile HTP 1.0 Collector
Thermometer
Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 Not Available
Heart Rate Service HRS 1.0 N/A Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Heart Rate Profile HRP 1.0 Collector
Sensor
Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Human Interface Device Service HIDS 1.0 N/A Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
HID over GATT Profile HOGP 1.0 Host
Device
Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Immediate Alert Service IAS 1.0 N/A Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Link Loss Service LLS 1.0 N/A Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Next DST Change Service NDCS 1.0 N/A Supported Not Available Not Available Not Available Not Available Not Available
Phone Alert State Service PASS 1.0 N/A Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 Not Available
Phone Alert State Profile PASP 1.0 Server
Client
Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 Not Available
Proximity Profile PXP 1.0 Monitor
Reporter
Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0
Reference Time Update Service RTUS 1.0 N/A Supported Not Available Not Available Not Available Not Available Not Available
Scan Parameters Service SCPS 1.0 N/A Supported Not Available Not Available Not Available Not Available Not Available
Scan Parameters Profile SCPP 1.0 Server
Client
Supported Not Available Not Available Not Available Not Available Not Available
TX Power Service TPS 1.0 N/A Supported v1.5R2 v1.2R2 4.0.3.0/v4.2.1.0 v4.0.2.2/v4.2.1.0 v4.0.1.4.2/v4.0.3.0.1.0



Custom LE Profiles and Services[edit]

Profile/Service Version Role Core Stack MSP430
CC256XMSPBTBLESW
TM4C
CC256XM4BTBLESW
MSP432
CC256XMS432BTBLESW CC2564CMSP432BTBLESW
STM32
CC256XSTBTBLESW CC2564CSTBTBLESW
AM335x SDK
TI - Accelerometer Service TI-ACC 1.0 N/A Not Supported v1.5R2 Not Available Not Available Not Available Not Available
TI - Key Fob Service TI-KFS 1.0 N/A Not Supported v1.5R2 Not Available Not Available Not Available Not Available




Sample Applications[edit]

Bluetooth SDK[edit]

The TI’s Bluetooth stack includes sample applications directory with source code which demonstrates the use of the TI’s Bluetooth stack. These sample applications are a simple, command line application which will display a list of available commands. For more information on the available demos see the CC256X Demos and Sample Applications

Sample Application Profile(s) - Role(s) MSP430 EVM MSP432 EVM TM4C EVM STM32F4 EVM
A2DP Demo Sink
Controller
Not Supported Not Supported DK-TM4C129X (equivalent sample: AUD Demo) Not Supported
A3DPDemo_SNK Sink
Controller
MSP-EXP430F5438
BT-MSPAUDSINK
MSP-EXP432P401R DK-TM4C123G
DK-TM4C129X
STM3240G-EVAL
A3DPDemo_SRC Source
Target
MSP-EXP430F5438
BT-MSPAUD
MSP-EXP432P401R DK-TM4C123G
DK-TM4C129X
STM3240G-EVAL
A3DP MultiRoom Demo Sink
Controller
MSP-EXP430F5438
BT-MSPAUD
Not Supported DK-TM4C123G
DK-TM4C129X
Not Supported
ANP Demo Server
Client
MSP-EXP430F5438 MSP-EXP432P401R DK-TM4C123G
DK-TM4C129X
STM3240G-EVAL
AUD Demo Source
Sink
Not Supported Not Supported Not Supported STM3240G-EVAL (equivalent sample: A2DP Demo)
FMP demo Target
Locator
MSP-EXP430F5438 MSP-EXP432P401R Not Supported STM3240G-EVAL
HDP demo Source
Sink
Not Supported Not Supported Not Supported Not Supported
HFPDemo_AG Audio Gateway
Hands-free unit
Not Supported MSP-EXP432P401R Not Supported STM3240G-EVAL (equivalent sample: HFPAGDemo)
HFPDemo_HF Audio Gateway
Hands-free unit
Not Supported MSP-EXP432P401R Not Supported STM3240G-EVAL (equivalent sample: HFP Demo)
HFP demo Audio Gateway
Hands-free unit
MSP-EXP430F5438 Not Supported DK-TM4C123G
DK-TM4C129X
Not Supported
HID demo Host
Device
MSP-EXP430F5438 MSP-EXP432P401R DK-TM4C123G
DK-TM4C129X
STM3240G-EVAL
HOGP Demo Host
Device
Not Supported MSP-EXP432P401R DK-TM4C123G
DK-TM4C129X
STM3240G-EVAL
HOGP Keyboard Demo Host
Device
MSP-EXP430F5438 Not Supported Not Supported Not Supported
HRP Demo Collector
Sensor
MSP-EXP430F5438 MSP-EXP432P401R DK-TM4C123G
DK-TM4C129X
STM3240G-EVAL
HSP Demo Audio Gateway
Headset
Not Supported MSP-EXP432P401R Not Supported STM3240G-EVAL
HTP Demo Collector
Thermometer
MSP-EXP430F5438 MSP-EXP432P401R DK-TM4C123G
DK-TM4C129X
STM3240G-EVAL
iBeacon Demo Server
Client
Not Supported MSP-EXP432P401R Not Supported STM3240G-EVAL
iSPP Demo Device A
Device B
MSP-EXP430F5438 MSP-EXP432P401R Not Supported STM3240G-EVAL
(add-on)
KeyFob Demo
MSP-EXP430F5438 Not Supported Not Supported Not Supported
MAP demo Server
Client
Not Supported MSP-EXP432P401R DK-TM4C123G
DK-TM4C129X
STM3240G-EVAL
PAN demo
Not Supported Not Supported Not Supported Not Supported
PASP Demo Server
Client
MSP-EXP430F5438 MSP-EXP432P401R DK-TM4C123G
DK-TM4C129X
STM3240G-EVAL
PBAP Demo Server
Client
Not Supported MSP-EXP432P401R DK-TM4C123G
DK-TM4C129X
STM3240G-EVAL
PXP Demo Monitor
Reporter
MSP-EXP430F5438 MSP-EXP432P401R DK-TM4C123G
DK-TM4C129X
STM3240G-EVAL
SPP Demo Device A
Device B
MSP-EXP430F5438
MSP-EXP430F5529LP
MSP-EXP432P401R DK-TM4C123G
DK-TM4C129X
STM3240G-EVAL
SPPLE Demo Server
Client
MSP-EXP430F5438 MSP-EXP432P401R DK-TM4C123G
DK-TM4C129X
STM3240G-EVAL
SPPLE Lite Demo Server
Client
MSP-EXP430F5529
MSP-EXP430F5529
MSP-EXP430F5529LP
Not Supported Not Supported Not Supported
CSCP Demo Server
Client
Not Supported MSP-EXP432P401R Not Supported STM3240G-EVAL


E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article CC256x TI's Bluetooth Stack here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article CC256x TI's Bluetooth Stack here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article CC256x TI's Bluetooth Stack here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article CC256x TI's Bluetooth Stack here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article CC256x TI's Bluetooth Stack here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article CC256x TI's Bluetooth Stack here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article CC256x TI's Bluetooth Stack here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article CC256x TI's Bluetooth Stack here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article CC256x TI's Bluetooth Stack here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity