SimpleLink CC26x2 SDK Overview¶
The SimpleLink™ CC26x2 Software Development Kit provides a complete package for the development of Zigbee, Thread, and IEEE™ 802.15.4 based applications for the CC26x2 wireless microcontroller.
Introduction to the CC26x2¶
This kit is based on the SimpleLink CC26x2 which is optimized for ultra-low power while providing fast and capable MCU systems to enable short processing times and high integration. The CC26x2 device combines a 2.4 GHz RF transceiver with 352KB of in-system programmable memory, 80KB of SRAM, and a full range of peripherals. The CC26x2 device is centered on an ARM® Cortex®-M4F series processor, that executes the user application and stack code, and an autonomous radio core centered on an ARM Cortex-M0 processor, which handles all the low-level radio control. The sensor controller block provides additional flexibility by allowing autonomous data acquisition and control independent of the Cortex-M4F processor core, which further extends the low-power capabilities of the CC26x2 device.
The CC26X2R1 LaunchPad kit supports programming and debugging from CCS and IAR Embedded Workbench® integrated development environments (IDEs).
Introduction to the SimpleLink CC26x2 SDK¶
TI’s royalty-free SimpleLink CC26x2 SDK is a complete software platform for developing applications that require low-power, security, reliability, and mesh networking. The CC26x2 devices are part of the SimpleLink™ MCU platform which consists of Wi-Fi®, Bluetooth® low energy, Sub-1 GHz, Thread, Zigbee, IEEE 802.15.4 and host MCUs, which all share a common, easy-to-use development environment and rich tool set. A one-time integration of the SimpleLink™ platform enables you to add any combination of the portfolio’s devices into your design, allowing 100 percent code reuse when your design requirements change. For more information, visit the SimpleLink™ Solutions Overview.
Solution Platform¶
This section describes the various components that are installed with the SimpleLink CC26x2 SDK, the directory structure of the protocol stack, and any tools required for development.
The following components are included in the solution platform:
- Real-time operating system (RTOS) with the TI-RTOS™ SYS/BIOS kernel, optimized power management support, and peripheral drivers.
- The driverLib provides a register abstraction layer that is used by software and drivers to control the CC26x2 MCU.
- TI-Drivers are a set of RTOS aware drivers designed to allow seemless use of CC26x2 peripherals insides your application.
- Example applications make the beginning stages of development easier. Example applications are provided for the CC26x2 platform
Directory Structure¶
The SimpleLink CC26x2 SDK directory structure is broken down into a few major directories at the root to allow easy differentiation between documentation, examples, kernel source, and other source code. From the root directory, the sub-directories are:
docs: | Contains HTML and PDF documentation for the SimpleLink CC26x2 SDK. |
---|---|
examples: | Contains the example projects and example source for this SimpleLink CC26x2 SDK. |
kernel: | Contains the source and build tools for the kernels supported by this SimpleLink CC26x2 SDK. |
source: | Contains the source code for the larger components of the SimpleLink CC26x2 SDK. A more detailed description of this directory follows. |
tools: | Scripts and definition files used by the SimpleLink CC26x2 SDK. Contains scripts referenced by the SimpleLink CC26x2 SDK documentation. |
The source directory is split into major categories based on where the source
code came from. All of the source code within the third_party
directory
comes from vendors other than Texas Instruments. All of the source code within
the ti
directory comes from Texas Instruments.
ti\devices: | Contains the board support source code. |
---|---|
ti\display: | Contains the source code for the display libraries. |
ti\drivers: | Contains the source code for the TI-RTOS drivers. |
ti\grlib: | Contains the source code for the graphics libraries. |
ti\mw: | Contains the source code for the middleware drivers. |
End Production Development Architecture Choices¶
Protocol Stack and Application Configurations¶
Figure 14. shows the two different system architectures enabled by Z-Stack.
- A single device is shown in Figure 14. (left). The application and protocol stack are both implemented on the CC26x2 as a true single-chip solution. This configuration is the simplest and most common when using the CC26x2 for network nodes and also using the CC26x2 as a personal area network (PAN) coordinator node. This configuration is the most cost-effective technique and provides the best power performance.
- A coprocessor is shown in Figure 14. (right). The protocol stack runs on the CC26x2 while the application is executed on an external MPU or MCU. The application interfaces with the CC26x2 using the network protocol interface (NPI) over a serial universal asynchronous receiver/transmitter (UART) connection. The description of the API interface is provided in the ZNP Interface Guide. This configuration is useful for applications that require long-range wireless connectivity or peripheral applications, which execute on another device (such as an external MCU) or on a PC without the requirement to implement the complexities associated with a wireless networking protocol. As well for implementing the Feature rich gateway applications e.g. on Linux host. In these cases, the application can be developed externally on a host processor while running Z-Stack on the CC26x2, which provides ease of development and quickly adds Zigbee wireless connectivity to existing products.