TI BLE5-Stack 1.00.01.45 Release Notes
Table of Contents
Introduction
The BLE5-Stack is a set of sample applications, tools, APIs and protocol stack libraries that enable engineers to develop Bluetooth® 5 standalone or network processor LE applications on the SimpleLink™ CC2640R2F Bluetooth low energy (BLE) wireless MCU. This BLE5-Stack release includes Bluetooth certified support for the 2 Mbps high throughput PHY mode as well as all existing Bluetooth 4.0, 4.1 and 4.2 LE features from the BLE-Stack 3.1.0 release. Also included with this protocol stack release is a (non-production) demonstration mode for evaluating performance of the LE Coded PHYs used in the Bluetooth 5 LE Long Range feature. Refer to the sections below for developing your Bluetooth 5 application.
As with all Bluetooth core specifications that support the low energy (LE) feature, devices implementing the LE feature of Bluetooth 5 are backward compatible with Bluetooth 4.2, 4.1 and 4.0 LE capable devices.
BLE5-Stack 1.00.01.45 is a maintenance update to the existing production release and inherits all Bluetooth 4.0 / 4.1 and 4.2 core specifications features BLE-Stack 3.1
Key features of BLE5-Stack 1.00.01.45 :
- Fully qualified, royalty-free Bluetooth 5 protocol stack with support for all single-mode BLE roles: Peripheral, Central, Broadcaster and Observer
- Bluetooth certified support for the following Bluetooth 5 features: 2 Mbps, Privacy 1.2.1 and Channel Selection Algorithm #2
- Support for all Bluetooth 4.2 LE features including Secure Connections, Data Length Extension and Privacy 1.2
- Integrated BLE Host and Controller supporting System-on-chip (SoC) standalone or network processor dual-device configurations
- Demonstration (non-production) capability for switching to a 125 kbps or 500 kbps LE Coded PHY (LE Long Range) operation after establishing a 1 Mbps default BLE connection. This can be used to evaluate performance and range of a LE Long Range connection which will be enabled in a future production release. Use of the LE Coded PHYs in this BLE5-Stack release is not permissible for Bluetooth SIG end product qualification.
- Full integration with TI-RTOS for real-time scheduling, automatic power management and utilizing peripheral device drivers
- Multi-role configuration for supporting multiple simultaneous connections in any supported role configuration
- Over-the-Air Download (OAD) device firmware upgrade options using off-chip memory
- Support for developing applications on all QFN and WCSP CC2640R2F device package options
- Includes BT SIG adopted profiles for HID over GATT (HOGP), Glucose and Heart Rate as well as custom TI Audio and firmware update (OAD) profiles
- Support for automatic code generation of any adopted or custom Bluetooth GATT profile with TI’s plugin for Bluetooth Developer Studio (BDS)
- Ability to support additional sample applications using the CC2640R2 BLE Sample Applications Plugin
- Microstack configuration for broadcast-only applications
- Free code development option with Code Composer Studio™ (CCS) v7.2
Additional information about TI’s Bluetooth low energy solutions can be found at www.ti.com/ble
BLE5-Stack Documentation
The SimpleLink CC2640R2 SDK allows easier product development by combining the TI-RTOS and BLE protocol stack in one unified SDK. All BLE5-Stack sample applications are based off the TI-RTOS Kernel. Key documents needed for BLE application development include:
What’s New
- Maintenance update to address issues reported in the previous BLE5-Stack 1.0.0 release. Refer to the Fixed Issues below for more details
- Added enhanced heap memory configurations allowing for optimized RAM usage with a shared RTOS and protocol stack heap. Refer to SW User’s Guide for details
- Removed option to specify a fixed pairing passcode. Applicaiton must use GAP Bond Manager passkey callback function to specify passcode during pairing
Installation and Usage
- To build the sample applications with this SDK a supported IDE and toolchain must be installed (refer to Dependencies below)
- Install the simplelink_cc2640r2_sdk_1_40_00_45.exe package on a Windows® 7 SP1 or later machine with Administrator privileges
- The default install path is C:\ti\simplelink_cc2640r2_sdk_1_40_00_45 and is referenced as $BLE_INSTALL$ in the documentation
- BLE5-Stack sample application projects are located $BLE_INSTALL$\examples\rtos\CC2640R2_LAUNCHXL\ble5stack*
- Importing the application project in CCS will also import the corresponding stack project; post import errors related to an existing stack project can be ignored
- Changing the default install path and/or drive letter may require updating project variables. Do not use a space in the install path
- It is recommended to make a backup of the installation in order to revert modifications to the SDK
Fixed Issues
The following issues have been addressed in BLE5-Stack v1.0.1:
- LL Encryption is not re-enabled for bonded devices following a device reset when peer device is using an RPA
- Unable to reconnect to a previously bonded peer device using a Resolvable Private Address (RPA) after a power cycle
- Multi-Role Cache-as-RAM not stable in out of box configurations
- Incorrect size of GPRAM region in linker files
- HCI_EXT_GAP_LINK_PARAM_UPDATE_REQ_EVENT description missing from Vendor Specific HCI Guide to handle remote Link Parameter Update Request
- BLE5 projects that use multi_role_menu.c or two_btn_menu.c have build issues
- Split placement operator usage in linker command files to prevents using C++ code in project
- Two-button menu loses the first item at roll-over
- Enabling SharpDisplay causes linker errors in CCS
Upgrade and Compatibility Information
The BLE5-Stack 1.00.01.45 maintains BLE API compatibility with BLE5-Stack 1.0.0. Changes to SDK directory structure and TI-RTOS drivers may require updates to existing applications developed with previous BLE-Stack component releases.
The CC2640R2 SDK uses a new directory & file format which differs from BLE-Stack 2.2.x and earlier SDK releases. Existing applications developed with earlier SDKs require porting to this release; however, most BLE APIs remain the same thus reducing the effort required to migrate to this release. Refer to the Migration Guide for details.
Operating System Support
The BLE5-Stack sample applications in the CC2640R2 SDK are supported on the Microsoft Windows® 7 SP1 or later build platform.
Dependencies
The BLE5-Stack sample applications were built & tested with the following Integrated Development Environments (IDEs) and tools on Windows 7 SP1 and Windows 10 build platforms. All Bluetooth low energy applications must be developed using the components, such as the CoreSDK, within this SDK or with approved plugins. Using an IDE or toolchain version not listed below may result in compatibility issues with this SDK release.
- IAR Embedded Workbench: EWARM-8.11.1
- TI Code Composer Studio: CCS-7.02.00.00013
- C Compiler for ARM: 16.09.03.LTS
- XDCTools: 3.50.02.20
Note: Earlier IDE/toolchain versions are not supported and compatibility with newer versions of supported IDEs is not assured.
Device Support
This release supports single-mode Bluetooth 5 LE (2 Mbps) on the following SimpleLink wireless MCU: CC2640R2F
Note: This SDK does not support SimpleLink CC2640/CC2650/CC1350 devices or development kits with these devices.
Development Board Support
This release supports Bluetooth low energy applications on the following development kit: CC2640R2 LaunchPad
Known Issues and Limitations
- Number of simultaneous connections may be limited when attempting concurrent LE Secure Connections pairings. Suggested workaround is to perform LE Secure Connections pairing on an individual connection basis.
- L2CAP Connection Oriented Channels are not available in multi-role configurations
- BTool: Responses to connection parameter updates must manually sent within 30 seconds using HCI_LERemoteConnectionParameterRequestReply under the Adv.Commands -> HCI menu
- Link Layer Connection Parameters Request Procedure is disabled on most peripheral applications to improve connection parameter request compatibility with smart phone devices. L2CAP LE Signaling will be used instead. Define USE_LL_CONN_PARAM_UPDATE in application project to override this behavior
- On-chip Over-the-Air Download (OAD) configurations not supported in BLE5-Stack
- Over-the-Air Download (OAD) upgrade from BLE-Stack v3.x to BLE5-Stack v1.x is only supported via Off-chip OAD.
- The following vendor specific commands are not supported in this release:
HCI_EXT_MODEM_HOP_TEST_TX
,HCI_EXT_MODEM_TEST_TX
,HCI_EXT_MODEM_TEST_RX
, &HCI_EXT_END_MODEM_TEST
. Please use BLE-Stack 3.1.0 for modem testing when required for regulatory compliance. - Multi-role application can support up to 4 simultaneous connections when using the cache as RAM
- Devices acting as a master will not accept devices with unresolvable Resolvable Private Addresses (RPA). It’s suggested to establish a bond between a master and slave before using an RPA.
- SNP via SPI may become unstable when adding additional services. It’s suggested to use SNP via UART.
- HostTest does not support the Observer- or Broadcaster-only build configuration. These roles can be supported with the default Peripheral+Central configuration
- RTOS Object Viewer (ROV) in IAR is not available when using autosized heap configuration. See the TI BLE Wiki for workaround
- Projects imported from TI Resource Explorer into Desktop CCS installations will not build if the default build configuration is changed. Workaround is to manually import project using Project -> Import CCS Project wizard
- Post-release updates to Known Issues will be posted on the TI BLE Wiki
- Post-release updates to Over-the-Air Download (OAD) will be posted on the OAD Errata Page
Validation
TI BLE5-Stack 1.00.01.45 was tested using the following components:
- TI Code Generation Tools for ARM: 16.09.03.LTS
- XDCTools: 3.50.02.20
- CC2640R2 LaunchPad
Refer to the TI BLE Wiki How to certify your product page for details regarding Bluetooth certification and how to reduce Bluetooth certification time by using TI’s Qualified Design ID (QDID).
Versioning
This product follows a version format, M.mm.pp.bb, where:
- M is a 1 digit major number,
- mm is a 2 digit minor number,
- pp is a 2 digit patch number,
- bb is a 2 digit incrementing build counter.