Getting Started

Important

For the latest User’s Guide, see the Online BLE-Stack User’s Guide for Bluetooth 4.2.

This section serves as a road map 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.01.01.00 Software Development Kit (SDK) from the out-of-the-box demo to production.

Figure 1. shows the suggested work flow 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 Project Zero and developing applications with the BLE-Stack. To quickly get started on a simple project with the CC2640R2 Launchpad, see the Project Zero overview page: www.ti.com/ble-project-zero.

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. Using CCS Cloud™, TI’s web based IDE, Project Zero can be built, downloaded, and debugged directly from a supported browser without the need to install a full desktop IDE. With Project Zero running on the CC2640R2F LaunchPad, you can connect with your smart phone to remotely blink on-board LEDs, send text strings to the LaunchPad’s serial port, and receive button press notifications, all right out of the box.

The following sections in this document focus on developing a custom application with BLE-Stack.

To summarize, Project Zero allows you to quickly:

  • Run software without installing any tools
  • Flash the device with a single-button click from the browser
  • Import a project to the cloud editor and develop, build, and debug
  • Download all required project files in one archive file for CCS Desktop development
../_images/image2.jpeg

Figure 2. Project Zero on CCS Cloud

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 and TI’s Real Time Operation System (TI-RTOS).

SimpleLink Academy provides a comprehensive set of training tools that allow users from beginners to experienced developers to learn about the SimpleLink MCU Platform.

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

SimpleLink Academy also contains modules written to demonstrate the rich debug environment and peripheral driver capability provided by TI-RTOS.

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 https://www.ti.com/tool/SIMPLELINK-CC2640R2-SDK

BLE-Stack contains the code necessary to create a complete Bluetooth low energy end application. The stack library 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_M_mm_pp_bb.exe installer.

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

    See Installing BLE-Stack 3.01.01.00 for help installing the SimpleLink CC2640R2 SDK.

  1. Get Familiar with the BLE-Stack User’s Guide for Bluetooth 4.2

This User’s Guide is meant to be used alongside the BLE-Stack 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: BLE-Stack User’s Guide

Important

For the latest User’s Guide, see the Online BLE-Stack User’s Guide for Bluetooth 4.2.

  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_. Click the links below to find out more information about each project

Table 1. BLE examples available for the CC2640R2F platform
Name Description
connection_monitor A project running on a dedicated device to monitor multiple active BLE connections.
host_test A network processor project that is interfaced to via HCI and Vendor Specific HCI commands.
micro_eddystone_beacon A sample implementation of an eddystone beacon using the TI BLE Microstack
multi_role Project that supports multiple connection roles and is capable of functioning as any of the GAP roles. See GAPRole Task for more information.
secure_fw A project which provides a mechanism to verify the integrity of the firmware image before executing it on a CC2640R2 BLE device.
simple_broadcaster Sample implementation of non-connectable advertising.
simple_central Simple central Implements a basic BLE central device with GATT client functionality.
simple_np A network processor project that implements the BLE controller, host, and part of the application layer on the CC2640R2F. The simple_np is intended for users attempting to quickly add BLE to an MCU only design.
simple_observer Sample implementation of a scanner application
simple_peripheral Simple peripheral demonstrates a simple Bluetooth low energy slave application that implements connectable advertisements and a simple profile.
simple_peripheral_oad_offchip Identical to the simple_peripheral project, except with off-chip OAD functionality added. See Off-Chip OAD for more details.
simple_peripheral_oad_onchip Identical to the simple_peripheral project, except with on-chip OAD functionality added. See On-Chip OAD for more details.
simple_peripheral_secure_fw A modified simple_peripheral project which provides a mechanism to verify the integrity of the firmware image before executing it on a CC2640R2 BLE device.
  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.01.01.00 and the CC2640R2F. You can browse questions from other developers or ask your own questions if you run into issues developing with BLE-Stack 3.01.01.00.