Getting Started

This section serves as a roadmap for users developing applications and products using the TI SimpleLink Bluetooth low energy CC2640R2F wireless MCU platform. Whether a seasoned developer or just getting started, TI has created a variety of resources to simplify development on the CC2640R2F platform. These resources will enhance your experience with the TI SimpleLink BLE-Stack™ 3.00.00 Software Development Kit (SDK) from the out-of-the-box demo to production.

Figure 1. shows the suggested workflow for getting started with TI’s SimpleLink Bluetooth low energy (BLE) development environment.

../../_images/suggestedworkflow.png

Figure 1. Suggested Workflow

Demo: Project Zero

The CC2640R2F LaunchPad™ is the main development kit for developing applications with the BLE-Stack 3.00.00. To quickly get started with the CC2640R2 Launchpad, see Project Zero on the TI SimpleLink GitHub : https://github.com/ti-simplelink/ble_examples

In order to run the Project Zero demo, you will need the Simplelink CC2640R2 SDK and CCS v7.0. If you have not done so already, follow the directions in Step 1. of the Develop section. Next, you will need to follow the Installation instructions on the TI SimpleLink GitHub page. For an in-depth guide on how to use Project Zero, see the Project Zero README.md on the the TI SimpleLink GitHub page.

Project Zero uses a modified version of the simple_peripheral sample application from this SDK to demonstrate and evaluate some of the most commonly used BLE features. With Project Zero running on the CC2640R2 Launchpad, you can connect with your smart phone to remotely toggle on-board LEDs, send text strings to the LaunchPad’s serial port, and receive button press notifications, without making any code modifications.

To summarize, Project Zero allows you to quickly:

The following sections in this document focus on developing a custom application with BLE-Stack 3.00.00. When developing a new application for the CC2640R2 Launchpad, we recommend starting from simple_peripheral instead of Project Zero due to flash optimizations.

After you have become familiar with Project Zero, if you want additional training continue on to the Learn track. If you are an advanced developer and are ready to get started with developing your own appplication, continue on to the Develop track.

Learn

Resources contained in the Learn track of Figure 1. are intended for users who are new to BLE or TI-RTOS. These modules demonstrate how to create custom applications with BLE-Stack 3.00.00 and TI’s Real Time Operation System (TI-RTOS).

Using introductory material and labs, learn the fundamentals of BLE and how to develop a custom BLE profile.

Contains TI-RTOS modules written to demonstrate the rich debug environment and peripheral driver capability provided by the RTOS.

Warning

Although the concepts taught in SimpleLink Academy carry over when developing on the CC2640R2 Launchpad, the projects may require older versions of the TI BLE-Stack and CC26xx hardware. Each lab will list which hardware and SDK version is supported.

This material teaches users who are new to TI-RTOS or any RTOS programming in general about TI’s RTOS kernel implementation.

Modules within the kernel training greatly expand the information presented in the TI-RTOS Overview chapter.

Learn how the TI-RTOS provides the most optimal power management and design flexibly.

Develop

The develop track of Figure 1. is intended for programmers who are ready to start developing an end product using the CC2640R2F. To begin:

  1. Download the Simplelink CC2640R2 SDK www.ti.com/tool/ble-stack

BLE-Stack 3.00.00 contains the code neccessary to create a complete BLE end application. The stack library code implements the BLE protocol stack on the CC2640R2F, and the various example projects use the stack library to implement end devices. These examples should be considered as starting points for end product designs.

To install the BLE-Stack, run the simplelink_cc2640r2_sdk_1_00_00_xx.exe installer.

  • The default SDK install path is C:\ti\simplelink_cc2640r2_sdk_1_00_00_xx. Throughout the rest of this document, this path will be referred to as <SDK_INSTALL_DIR>.

    See Installing BLE-Stack 3.00.00 for help installing the Simplelink CC2640R2 SDK.

  1. Get Familiar with the Software Developer’s Guide

This Software Developer’s Guide is meant to be used alongside the BLE-Stack 3.00.00 when developing an end product. It contains documentation on the stack architecture, APIs, and suggestions for developing applications. To jump to the Table of Contents, click here: Bluetooth Low Energy Software Developer’s Guide

  1. Select an Example Project

The BLE-Stack includes a basic set of projects to use as a starting point for development of your custom application. TI recommends that users start their development on a project starting with simple_.

  • The simple_peripheral project demonstrates a simple Bluetooth low energy slave application that implements connectable advertisements and a simple profile.
  • The simple_central project implements a basic BLE central device with GATT client functionality.
  • The simple_broadcaster project supports only non-connectable advertising.
  • The simple_observer project supports only scanning functionality.
  • The multi_role project supports multiple connection roles and is capable of functioning as any of the GAP roles. See GAPRole Task for more information.

For more details on these and all other included projects, see Example Applications.

  1. Begin Development with an IDE

An Integrated Development Environment can be set up to make it easier to browse through the relevant projects and view code. All embedded software for the CC2640R2F is developed using either TI’s Code Composer Studio or IAR’s Embedded Workbench for ARM (from IAR Systems) on a Windows 7® or later PC.

To begin development in CCS, jump to: Developing with CCS

To begin development in IAR, jump to: Developing with IAR

  1. Troubleshooting Help

While developing your custom application, you may run into issues that require the use of a debugger. The Debugging chapter provides help with configuring your debugger and understanding common problems. If you are still having problems after reading through the Debugging chapter, see the Support track for more options.

Enhance

The enhance track of Figure 1. is intended to take your product to the next level by leveraging TI’s web-based collateral. Additional resources found in these pages include application-specific source code examples, smart phone source code, and complete sub-system designs.

Additional sample applications created to implement specific use cases and examples. These are made to work in conjunction with the SDK.

TI offers a plugin for the Bluetooth Developer Studio tool. Developers can use this tool, developed by the Bluetooth Special Interest Group (SIG), with TI’s SimpleLink plugin to reduce development time by automatically generating compilable code for proprietary and adopted profiles running on the CC2640R2F. See SimpleLink Academy for instructions on integrating a BDS profile with a sample project.

Examples of system designs containing complete hardware and software examples, using the CC2640R2F.

Support

The support track of Figure 1. is intended to provide you additional help and resources that aren’t contained in the previous tracks.

A collection of webpages that contain step-by-step guides and code snippets that enable certain features and enhancements to the CC2640R2F, such as production test mode and certification.

A support community providing answers to questions relating to the BLE-Stack 3.00.00 and the CC2640R2F. You can browse questions from other developers or ask your own questions if you run into issues developing with the BLE-Stack 3.00.00.