SWRU581 March   2021 CC2564C , CC2564MODA , CC2564MODN , WL1831

 

  1.   Trademarks
  2. Introduction
  3. Bluetopia
  4. Bluetopia Platform Manager (BluetopiaPM)
  5. Hardware Requirements
  6. Software Requirements
  7. Stack Supported Features
  8. TI BluetopiaPM Stack Linux Architecture
  9. Installing Bluetopia Platform Manager
  10. BluetopiaPM Architecture
    1. 9.1 Installation Directory Structure
    2. 9.2 BluetopiaPM Structure
  11. 10The BluetopiaPM Server – Pairing Mode
  12. 11Platform Integration
    1. 11.1 Build BluetopiaPM
      1. 11.1.1 Modification of the PM Build Environment
  13. 12Adding BluetopiaPM to the SD Card
    1. 12.1 Sample Applications
    2. 12.2 Gstreamer Plugin
    3. 12.3 VNET Plugin
      1. 12.3.1 Voice Over BLE Python Script
    4. 12.4 Init-scripts
    5. 12.5 Bluetooth Hardware Configuration Script
  14. 13Terminal Connection
  15. 14Running a Sample Application
  16. 15BluetopiaPM Samples
  17.   A C256X EVM Modifications for COM8 Connector
  18.   B Bluetopia Build Log for Reference
  19.   C Sample Run
  20.   D Using the CC256x Service Pack With Linux (TI-BT-4-2-STACK-LINUX-ADDON)

TI BluetopiaPM Stack Linux Architecture

BluetopiaPM stack is user space based and uses standard Linux tty driver interface to communicate with the DualMode BT controllers on a UART interface. The stack supports H4 (4wire) HCI protocol with hardware flow control. Figure 7-1 shows the high-level driver partitioning and architecture.

GUID-20210315-CA0I-ZPKL-ZQTS-ZT16MQWJDGKG-low.png Figure 7-1 BluetopiaPM Stack Architecture

BluetopiaPM and Bluez stacks are mutually exclusive. This means, when using BluetopiaPM stack, one should not use BlueZ stack and ensure that the BlueZ driver in the kernel is not initialized. The ‘bluetooth’ property for the HCI universal asynchronous receiver/transmitter (UART) node in the device tree should not be enabled for using BluetopiaPM stack. For example, ‘bluetooth’ property in below uart3 node should be removed for using BluetopiaPM stack.

&uart3 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart3_pins &bt_pins>;
	status = "okay";

	bluetooth {
		compatible = "ti,wl1835-st";
		enable-gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
	};
};

The section below briefs the high-level components in the Stack and their functionality.

  • BluetopiaPM/Bluetopia:
    • Dual mode Classic Bluetooth (BR/EDR) and Bluetooth Low Energy (BLE) protocol stack and profiles.
    • Supports Bluetooth Core Specification v5.1.
    • Supports WL18xx and CC256X devices.
    • BluetopiaPM (Platform Manager) is a client-server add-on that enables multiple applications to simultaneously communicate with the Bluetopia stack.
    • Each application will be linked to BluetopiaPM Client library that handles the communications to a single BluetopiaPM server daemon that hosts the Bluetopia stack.

For more details on the BluetopiaPM stack, see https://www.ti.com/tool/tibluetoothstack-sdk