Please note as of Wednesday, August 15th, 2018 this wiki has been set to read only. If you are a TI Employee and require Edit ability please contact x0211426 from the company directory.

CC256x Tiva TI Bluetooth Stack

From Texas Instruments Wiki
Jump to: navigation, search

Demo Overview

This demo allows users to evaluate TI's CC256x Bluetooth device by using the CC256x and the Tiva Cortex M4 Platform. The CC256x+Tiva Cortex M4 Bluetooth sample applications are provided to enable a rich out-of-box experience to the user. These applications allow the user to use a console to send Bluetooth commands, setup a Bluetooth Device to accept connections, connect to a remote Bluetooth device, and communicate over Bluetooth.


Requirements

Hardware

NoteNote: : Hardware depends on the application, specific demos will have detailed hardware configurations.


Software

General

  • CC256x + TivaC Bluetooth Software - Contains the Sample Applications - Download
  • TivaWare Software 2.1.3.156 - Install the TivaWare package and all the required drivers - Download
  • TI-RTOS Tivac 2.00.02.36 - Download

IDEs


Hardware Setup

TM4C123G

a) Install the CC256QFNEM module on the back of the LM4F232 board using J9/J10 connectors.

b) Make sure Y4(Slow Clock) is present.

EKS-LM4F232


TM4C129X

a) Install the CC256QFNEM module on the EM connector.

b) Move the jumpers at J12 and J13 from the 1/2 position to the 2/3 position to select the EM_UART.

c) Remove J23.

DK-TM4C129X
DK-TM4C129X


CC256XB Information

To use the CC256XB module, the patch CC256XB.h has to be included. To make sure this patch is included, in BTPSVEND.c add the line:

#define __SUPPORT_CC256XB_PATCH__

This will make sure that the CC256XB patch is loaded and the CC256XB module can be used without issues.


Software Setup

The Bluetooth SDK can be downloaded from here. You will be prompted for a TI login when you try to download the SDK. If you don't already have a TI login you will be asked to create one. After creating a TI login you will need to complete the export approval form. After completing the form a request will be submitted to TI for approval. After the request is approved you will see a confirmation on the next page and be provided with a link to download the software. Click the "Download" button to start the download.

After the download completes run the setup file (e.g. CC256XM4BTBLESW-v1.2-Setup.exe). The setup process will ask you to accept the TI Bluetooth Stack Clickwrap License Agreement. After accepting the license agreement the SDK will be installed to "C:\TI\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\". The SDK can be accessed using Start / Programs / Texas Instruments / CC256x M4 Bluetopia SDK v1.2.

Next, in order to update the demos to use the newest version of Tivaware found in the General section (2.1.3.156), users must update the path variable in the following file:

 C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\SetTivaWarePath.bat

To do this, open the windows batch file in any text editor and change the TIVAWARE_PATH variable to the installed version.

TivawarePathUpdate

You now have access to sample applications' source code as well as binaries to flash directly to your Tiva board.

Flashing the Bluetooth Code

You can also use the LM Flash Programmer to flash the software.

Platform Specific

TM4C123G

IAR

a) Go to CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\Sample\. Here you will see a list of samples.

b) Select the demo that you want to load on the device. For our example we will use SPPDemo.

c) Navigate to NooS->EWARM and select SPPDemo.eww. The IDE should open.

Getting_Started_Guide-SS1-3.png

d) From the dropdown menu, select either debug or release configurations for DK-TM4C123G. In our case we select, Debug DK-TM4C123G.

e) Go to Project->Options->General Options. In the Target Tab, click on the Device radio button and from the list of devices, navigate to Texas Instruments->TM4C->TM4C123GH6PGE.


f) In the Category list, go to General->Debugger. Select TI Stellaris in the Driver options.

Getting_Started_Guide-SS1-10.png

g) In the Download tab, Make sure use flash loaders and the Verify Download options are checked.

Getting_Started_Guide-SS1-3.png

h) Note: If you change to the Release configuration, you will need to repeat steps e) to g) for that configuration as well for it to work properly.

Select download and debug(make sure that the DK-TM4C123G device is conencted) by either clicking on the Play icon or selecting Project->Download and Debug.

i) Let the IDE debug and load the software on the device. This may take 5-10 minutes. Once it is done debugging, click on the X on the IDE to stop debugging.

Getting_Started_Guide-SS1-18.png

j) The software is now ready to use. To begin using the profile disconnect and reconnect the DK-TM4C123G after flashing.

CCS

a) Open Code Composer Studio 5. Select File->Switch Workspace. Navigate to the folder where the Samples are located and make a new folder for the workspace.
Getting_Started_Guide-SS1-5.png

CCS will now exit and reload the software. Each time you load a project it is preferable to create a new workspace for it.

b) Select Project-> Import Existing CCS Eclipse project. In the select search directory point to the CC256x M4 Bluetooth SDK\v1.2 R2\Sample\SPPDemo\NoOS. The profile should load here. Hit finish to load the profile.
Getting_Started_Guide-SS1-5.png

c) The projects should load on the left in Project Explorer. Repeat the step 2 if you want to import other profiles.


d) Click on the profile that you want to load. By default it should select the Debug, DK-TM4C123G configuration for the profile. To change the configuration, right click on the profile-> Build Configurations -> Set Active. Select either the debug or release configuration for DK-TM4C123G.
Getting_Started_Guide-SS1-5.png


e) To begin flashing the device, select from the toolbar Getting Started Guide-SS1-7.png -> Debug as -> Code composer session. Let the IDE debug and load the software on the device. This may take 5-10 minutes. Once it is done debugging, click on the stop button on the IDE to stop debugging.
Getting_Started_Guide-SS1-5.png

f) The software is now ready to use. To begin using the profile disconnect and reconnect the DK-TM4C123G after flashing.


KEIL

a) Open Keil uVision4. From the Projects menu, Select Open Project. Navigate to CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\Sample\SPPDemo\NoOS\RVMDK and select SPPDemo.uvproj. Here we use SPPDemo.
Getting_Started_Guide-SS1-14.png

b) The project should load on the left. Select the configuration from the drop-down menu at the top that we want to use. Choose either DK-TM4C123G Debug or DK-TM4C123G Release.
Getting_Started_Guide-SS1-15.png

c) In the project sidebar, right click on SPP(DK-TM4C123G) Debug Target and Select Build Target.
Getting_Started_Guide-SS1-16.png

d) After a few minutes, the build process will finish and it should build an .axf file. Each time we change the configuration a new .axf file will need to be built.
Getting_Started_Guide-SS1-19.png

e) From the debug menu, select start/stop debug session to start loading the profile on the Stellaris device. It should complete in a few minutes. Stop the debugging session from the Debug menu. The profile will now be loaded on the Stellaris board. Unplug and replug the device to start working with it.
Getting_Started_Guide-SS1-17.png


DK-TM4C129X

The same procedure is to be followed for using DK-TM4C129X with IAR, CCS or Keil for loading the profiles. For all of the cases, the only change is selecting the right configuration.

IAR

In step d) select either debug or release configurations for DK-TM4C129X instead of DK-TM4C123G and In step e) from the list of devices, navigate to Texas Instruments->TM4C->TM4C129XNCZAD The other steps are the same.

Getting_Started_Guide-SS1-17.png

CCS

In step d) when applying Build Configurations -> Set Active, select either the debug or release configuration for DK-TM4C129X.

KEIL

In step b) make sure that you select either the debug or release configuration for DK-TM4C129X. Note: Unlike CCS or IAR you will need to build the target again. So follow all the steps after that.


Demos

Classic Bluetooth Demos

SPP Demo

  • This application shows how to utilize the SPP module and also how handle the different callback events. The application can be used to interface with a remote SPP Client or Server.
  • For a step by step demonstration on how to run this application visit the SPP Demo Application Wiki.


HID Demo

  • The human interface device enables a host to connect and control a HID device.
  • For a step by step demonstration on how to run this application visit the HID Demo Application Wiki.


A2DP Demo

  • The A2DP profile allows us to stream high quality audio over bluetooth.
  • For a step by step demonstration on how to run this application visit the A2DP Demo Application wiki.


HFP Demo

  • The HFP profile allows us to send voice over bluetooth.
  • For a step by step demonstration on how to run this application visit the HFP Demo Application wiki.


A3DP Demo

  • The A3DP profile allows us to stream high quality audio over bluetooth.
  • For a step by step demonstration on how to run the Source application visit the A3DP Source Demo Application wiki.


A3DP MultiRoom Demo

  • The A3DP MultiRoom demo allows us to stream high quality audio to 2 different speakers at the same time.
  • For a step by step demonstration on how to run the MultiRoom application visit the A3DP MultiRoom Demo Application wiki.


MAP Demo

  • The MAP Demo allows us to exchange message objects over Bluetooth.
  • For a step by step demonstration on how to run this application visit the MAP Demo Application wiki.


PBAP Demo

  • The PBAP Demo allows us to exchange Phone Book objects over Bluetooth.
  • For a step by step demonstration on how to run this application visit the PBAP Demo Application wiki.



Classic BT + BLE Demos

SPP + SPPLE Demo

  • This application shows how to utilize Low Energy (LE) and the GATT profile. This sample emulates using SPP over LE using the GATT Profile. This sample acts as a LE Master and LE Slave.
  • This application also shows how to utilize the SPP module and how to handle the different SPP callback events. This will act as either a SPP Server or SPP Client and exposes the same command set for SPP as the SPPDemo.
  • For a step by step demonstration on how to run this application visit the SPP + SPPLE Demo Application Wiki.


Bluetooth Low Energy Demos

ANP Demo

  • This application shows how to utilize Low Energy (LE) and the GATT profile. This sample implements the Alert Notification Profile (ANP) using the GATT profile. This sample acts as a LE Master and LE Slave.
  • For a step by step demonstration on how to run this application visit the ANP Demo Application Wiki.


HRP Demo

  • This application shows how to utilize Low Energy (LE) and the GATT profile. This sample implements the Heart Rate Monitoring Profile (HRP) using the GATT profile. This sample acts as a LE Master and LE Slave.
  • For a step by step demonstration on how to run this application visit the HRP Demo Application Wiki.


HTP Demo

  • This application shows how to utilize Low Energy (LE) and the GATT profile. This sample implements the Health Thermometer Profile (HTP) using the GATT profile. This sample acts as a LE Master and LE Slave.
  • For a step by step demonstration on how to run this application visit the HTP Demo Application Wiki.


PASP Demo

  • This application shows how to utilize Low Energy (LE) and the GATT profile. This sample implements the Phone Alert Status Profile (PASP) using the GATT profile. This sample acts as a LE Master and LE Slave.
  • For a step by step demonstration on how to run this application visit the PASP Demo Application Wiki.


HOGP Demo

  • This application shows how to utilize Low Energy (LE) and the GATT profile. This sample implements the HID Over GATT Profile (HOGP) using the GATT profile. This sample acts as a LE Master.
  • For a step by step demonstration on how to run this application visit the HOGP Demo Application Wiki.


PXP Demo

  • This application shows how to utilize Low Energy (LE) and the GATT profile. This sample implements the ProXimity Profile(PXP) using the GATT profile. This sample acts as a LE Master and Slave.
  • For a step by step demonstration on how to run this application visit the PXP Demo Application Wiki.