CC3200 TI-RTOS User's Guide
Table of Contents
Introduction
The CC3200 SDK includes a prebuilt TI-RTOS kernel (formerly known as SYS/BIOS) and has examples showcasing application of the TI-RTOS kernel. The SDK includes an OS abstraction layer that is ported for TI-RTOS includes a power management framework to aid the exercising of the low power modes in the device. There are also high level drivers that interface with the power management framework.
TI-RTOS for CC3200 package exercises more features of TI-RTOS (TI-RTOS kernel, TI-RTOS drivers, board initialization, etc.) and has example applications showcasing various usecases. TI-RTOS Drivers and Board Initialization provides a set of device driver APIs, that are standard across all devices, as well as initialization code for all supported boards.
Users must install the TI-RTOS for CC3200 package to use all the features supported by TI-RTOS.
Using TI-RTOS with CC3200 SDK
TI-RTOS for CC3200 must be used with CC3200 TI-RTOS applications. It can be installed from here.
SDK Prebuilt Binaries
The prebuilt binaries that are part of the SDK are built for use with TI-RTOS for CC3200. They are available for CCS, IAR, and GCC.
Build a new application on CCS with TI-RTOS
Import TI-RTOS project - For the application to work with TI-RTOS,
ti_rtos_config
project needs to be imported into the application workspace. This projects can be found in the SDK under the ti_rtos folder.Add TI-RTOS as dependency - The application should add
ti_rtos_config
as dependency to enable the RTSC functionality in the project.
Including TI-RTOS library -
oslib
project contains the OS adaptation layer files giving general wrapper functions around TI-RTOS function calls. Building this project with the ti_rtos configuration gives ati_rtos.a
library which should be included in the project for using RTOS functionality in the project.Registering Interrupts (if any) - All interrupts have to be registered to the NVIC using the
osi_IntRegister()
call.(Please referosi.c
for details). This creates a Hwi in TI-RTOS for a hardware interrupt.
Notes
app.cfg
file in theti_rtos_config
project is a common configuration file. The benefit of having a separate configuration project is that several applications can use the same configuration. This helps save on build times and allows a team to share a common configuration set up by a system integrator.- When building any of the TI-RTOS based applications, the
ti_rtos_config
dependency project must imported in the workspace. If choosing the RTSC platform in the
ti_rtos_config
package, the platform name must be ti.platforms.simplelink:CC3200For hooking a function to the idle task(as in the examples using Power Management Framework), the following lines have to be added in
app.cfg
file inti_rtos_config
project.
var Idle = xdc.useModule('ti.sysbios.knl.Idle');
Idle.addFunc('&IdleHookFunction');
IdleHookFunction()
is the function that needs to be hooked to the idle task and may vary depending upon the application.