Zigbee Quick Start Guide

This section serves as a roadmap for users developing applications and products using the TI SimpleLink™ CC23xx or CC27xx Wireless MCU platform using Zigbee. Whether a seasoned developer or just getting started, TI has created a variety of resources to simplify development on the CC23xx or CC27xx platform. These resources will enhance your experience with the Zigbee software from the example applications to production.

Below are resources which developers should be aware of:

  1. Zigbee User’s Guide is a detailed description of TI’s Zigbee stack solution.

  2. SimpleLink Academy are extensive guides for learning more about developing with the Zigbee stack.

  3. Light Coordinator Example and Switch End Device Example READMEs, among others, provide descriptions of the out-of-box Zigbee examples.

  4. E2E Forum is a support community providing answers to questions relating to the Zigbee and the CC23xx or CC27xx.

Using Zigbee Projects with CCS

Importing Zigbee projects into CCS will also import a README.html that details the example application design, steps on running the example, and how each example works.

For more details on Zigbee example applications please see the Application Overview section of the Zigbee User’s Guide.

Import Project Using Resource Explorer

A quick and easy way to start working with the SDK is to use the TI Resource Explorer in CCS.

This section describes how to import and build an existing project and references the onoff_light project. All of Zigbee projects included in the development kit have a similar structure.

  1. Open the CCS IDE from the Start Menu.

  2. Create a workspace.

Attention

Ensure that the CCS workspace path does not contain a whitespace.

  1. Import a CCS Project using Resource Explorer

  • Open Resource Explorer (if not open already) ViewResource Explorer → Software → SimpleLink Low Power F3 SDK → Examples → Development Tools → CC23xx or CC27xx LaunchPad → Z-Stack → onoff_light → TI-RTOS → CCS Compiler → onoff_light

  1. Select the CCS Logo button to import project into Project Explorer

Attention

The import process will also install the SimpleLink Low Power F3 SDK if a local version does not exist. You must accept the End User License Agreement to proceeed.

../_images/eula.png

Figure 17. Install SimpleLink Low Power F3 SDK

After the installation finishes, you must reopen CCS before importing the project.

  • If everything is successful, the project should appear in Resource

Explorer.

Import Project Using Import Wizard

  1. Open CCS

  2. Choose ProjectImport CCS Projects from the menu.

  3. Select the Browse button in the Import CCS Projects dialog and select the the directory <SDK_INSTALL_DIR>/examples/rtos/<LAUNCHPAD>/zigbee

    ../_images/ccs-import-wizard.jpg

    Figure 18. CCS Import Wizard

  4. CCS will automatically discover compatible examples.

  5. Select the Zigbee Example Project you would like to use. In this example, Light Coordinator Example is chosen. Click Finish to import the onoff_light project.

Build and Download Project

  1. Build the onoff_light project.

    • Set the onoff_light project as the active project. Make sure the Debug project configuration is used.

    • Select ProjectRebuild to build the project.

  2. Set to erase all Flash memory

    • Navigate to ProjectPropertiesDebugFlash Settings and select Chip Erase under Erase Settings during Program Load

    • This will ensure the NV memory from previous project builds is reset.

  3. Load the onoff_light project onto the device

    • Select RunDebug to download the onoff_light application.

    • Once the debugging session starts, click the red stop button

When the debugging session opens, click the Green start button to start execution. Be aware that this will begin commissioning automatically on the Zigbee node. Continue on to the README.html for information about using the example application.

Useful CCS IDE Settings

The CCS provides a large number of configurable settings that can be used to customize the IDE and individual projects. The following examples do not alter the generated program code, but they can improve the developer’s experience when working with CCS projects. The CCS can reduce project compilation time by taking advantage of multiple processor cores on the development computer.

To use this feature, navigate to ProjectPropertiesBuildBuilder and select Enable parallel build, as shown in Figure 19..

../_images/fig-properties-onoff-light.png

Figure 19. Project Properties for onoff_light

Decreasing the BuildARM CompilerOptimization level to Interprocedure will also reduce compile times but may increase the code flash requirements. CCS users can control the amount of information that is displayed in the Console portion of the screen during project compilation and linking, ranging from Verbose to Super quiet. To change this setting, navigate to WindowPreferencesCode Composer StudioBuild and select an entry from the Console verbosity level drop-down, as shown in Figure 20.

../_images/fig-ccs-console-verbosity.png

Figure 20. Console Verbosity Level Preferences

Accessing Preprocessor Symbols

Throughout this document and in the source code, various C preprocessor symbols may need to be defined or modified at the project level. Preprocessor symbols (also known as Predefined Symbols) are used to enable and disable features and set operational values to be considered when the program is compiled. The preprocessor symbols are split between project specific preprocessor symbols and configuration header preprocessor symbols.

Project Specific Preprocessor Symbols

Configurations for a given example project are stored in CCS’s predefined symbols setting for that project.

In CCS, preprocessor symbols are accessed in the ProjectPropertiesCCS BuildARM CompilerPredefined Symbols. To add, delete, or edit a preprocessor symbol, use one of the icons shown in the red box in Figure 21..

../_images/fig-ccs-predefined-onoff-symbols.png

Figure 21. Predefined Symbols Pane

A description of preprocessor symbols which can be added or removed is covered in the Zigbee User’s Guide: Developing Zigbee Applications section.

Other compile options taken from preinclude header files can be accessed by opening the appropriate Project Properties. Right click on the project in the Project Explorer and selecting Properties, then navigating to CCS BuildARM CompilerInclude Options. To add, delete, or edit a preincluded files, use one of the icons shown in the red box in Figure 22..

../_images/fig-ccs-preincluded-onoff-files.png

Figure 22. Include Options Pane

Running the Demo

The Light & Switch Example refers to the example applications included as part of the Zigbee. This is the first place where developers new to Zigbee should start. These examples help developers to quickly get familiar with Zigbee and with development tools such as CCS.

The Zigbee example applications can be modified, built, downloaded, and debugged from the desktop version of CCS. With the Light & Switch Example running on two separate LaunchPads, you can quickly create a Zigbee network. The first LaunchPad™ will run the Light Coordinator Example. The second LaunchPad will run the Switch End Device Example. With this configuration, the switch will control the light.

Use CCS to import and build the two example applications. See Using Zigbee Projects with CCS for instructions on importing, compiling and building Zigbee examples. Refer to the example readmes referenced above for instructions on running the example applications. To view all example application readmes, refer to the Zigbee User’s Guide.

Learning more about Zigbee

SimpleLink Academy contains Zigbee modules to help users learn the fundamentals of Zigbee and how to develop a custom Zigbee product. It also provides a comprehensive set of other training tools that allow users from beginners to experienced developers to learn about the SimpleLink MCU Platform.

Developing a new Zigbee Based Application

The following develop track is intended for programmers who are ready to start developing an end product using the CC23xx or CC27xx. To begin:

  1. Download and install the SDK. The SimpleLink Low Power F3 SDK contains the FreeRTOS kernel, peripheral drivers and stacks needed with the Zigbee.

  2. Begin Development with an Integrated Development Environment (IDE). An IDE can be set up to make it easier to browse through the relevant projects and view code. All embedded software for the CC23xx or CC27xx is developed using TI’s Code Composer Studio on a Windows 7® or later PC. To begin development in CCS, jump to: Using Zigbee Projects with CCS.

  3. Complete the Project Zero SimpleLink Academy Lab The Zigbee SimpleLink Academy includes a Project Zero Lab which helps introduce users to the SimpleLink Low Power F3 SDK and Zigbee basics through step-by-step instructions for programming LaunchPads, setting up a Zigbee Network, and sniffing OTA messages.

  4. Get Familiar with the Zigbee User’s Guide. The Zigbee User’s Guide is meant to be used alongside the Zigbee when developing an end product. It contains documentation on the stack architecture, APIs, and suggestions for developing applications.

  5. Select an Example Project. Zigbee includes a basic set of projects to use as a starting point for development of your custom application. To view examples applications available in Zigbee, refer to the Zigbee User’s Guide.

  6. Troubleshooting Help. While developing your custom application, you may run into issues that require the use of packet sniffer software or IDE debugger. The Debugging chapter of the Zigbee User’s Guide provides help with configuring your debugger and understanding common problems while the Packet Sniffer chapter explains how to run software for recording OTA activity.

Getting Support

E2E™ is a support community providing answers to questions relating to the Zigbee and the CC23xx or CC27xx. You can browse questions from other developers or ask your own questions if you run into issues developing with the Zigbee.