SimpleLink Gen1 to Gen2 SDK Migration Guide

Table of Contents


List of Figures

List of Tables

1. Introduction

CC31xx SimpleLink Wi-Fi Network Processor and CC32xx SimpleLink Wi-Fi Wireless MCU are the second generation devices in the SimpleLink Wi-Fi and Internet-of-Things family. These devices introduce some new features and capabilities that further simplify the connectivity of things to the internet.

Among the new capabilities are:

This document intends to guide users who already have experience with the CC3100/CC3200 devices and need to port their software to the new CC31xx/CC32xx family of devices. The document describes the new SDK structure and highlights the software components that require attention including host driver, OS layers, board drivers, and external libraries.

2. SDK Structure

2.1 Overview

The new SDK structure for CC31xx/CC32xx intends to create a common software development platform across all TI chipsets. Its main target is to emphasize the ease of use and specifically highlight:

2.2 High level view of SDK

Figure 1 illustrates the top level SDK structure. The SDK software abstracts the specific hardware (in this case, CC31xx/CC32xx) to the application.

The main target of the hardware abstraction layer is to simplify access to device modules. Each device or family of devices implements its device-specific implementation. In the previous SDK, this was also known as the driverlib module.

The RTOS layer implements the operating system. The SDK includes implementations for SYS/BIOS (TI-RTOS) and FreeRTOS. In case a different OS is desired, its implementation goes under the RTOS block. POSIX layer is used for OS abstraction. If a new OS is implemented, it needs to fit the POSIX layer. DPL (Driver Porting Layer) is used by the Drivers layer whenever OS services are required. The DPL abstracts the drivers similarly to how the POSIX layer abstracts the RTOS kernel functionality used by the application.

The Drivers layer is platform-independent. This layer bridges between the platform-dependent HAL layer and the application layer. This layer is common to all TI family of devices. In case OS services are required, the Drivers layer uses the DPL block.

The Middleware layer implements common libraries that may be used by the application. These components add additional functionality on top of the hardware-specific drivers. Examples of such common libraries include the graphic grlib, file system fatfs, and so forth.

Figure 1 Fig. 1: Top level SDK structure

2.3 Top level folder structure

Figure 2 illustrates the top level folder structure. The OS directory includes SYS/BIOS (TIRTOS) implementation as well as FreeRTOS implementation. The source directory includes the third_party directory for middleware implementation and ti directory mainly for Drivers (/source/ti/drivers directory) and HAL layers (/source/ti/devices/cc32xx/driverlib directory). It also includes the net directory for external libraries. Additional libraries may be added in future releases. For reference, the Wi-Fi host driver is located as one of the many drivers under /source/ti/drivers/net/wifi directory. The examples directory is detailed in section 2.4.

Figure 2 Fig. 2: Top level folder structure

2.4 Examples folder structure

Figure 3 illustrates the examples folder structure. Every board flavor has a corresponding directory. As illustrated, CC32xxS and CC32xxSF implementations for the CC32xx secured and CC32xx secured flash devices are included. Each board has a sysbios directory for TI-RTOS examples, drivers directory for drivers examples, and demos directory for a few full demos examples.