Staging:CC32xx TI-RTOS SDK 1.0.0

=  TI-RTOS  = = Introduction =

 The CC32xx SDK includes a prebuilt TI-RTOS Kernel (formerly known as SYS/BIOS) and has some examples showcasing the usage of the applications with TI-RTOS kernel. The SDK includes an OS abstraction layer that is also ported for TI-RTOS. The SDK also 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.

It is recommended to use the CC32xx SDK for applications requiring the flexibility to easily migrate to any RTOS and also if the usecase exercises the low power modes of the device.

"TI-RTOS for SimpleLink Wireless MCUs" package exercises more features of TI-RTOS (TI-RTOS Kernel, TI-RTOS Drivers and Board Initialization, ....) 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.

It is recommended to use the "TI-RTOS for SimpleLink Wireless MCUs" package to exploit all the features supported by TI-RTOS. Currently, in order to support exercising the low power modes of the device, the power management framework has to be imported and adapted from the CC32xx SDK package. Built-in support to exercise low power modes in this package is planned to be available in future releases.

= Using TI-RTOS with CC32xx SDK =

TI-RTOS for CC3xxx 2.00.02.36 has been used with CC3200 applications.

It can be installed from the link fro m the app center of CCS v6.0.0 (Build 190)

SDK PreBuilt Binaries

The prebuilt binaries that are part of the SDK are built with TI-RTOS for CC3xxx 2.00.02.36 version of the TI-RTOS components. The following tool set has been used(for building the application binaries and the ti_rtos library) for TI-RTOS on CC3200 platform: 1. CCS version: CCSv6.0.0 (Build 190)

In case any of these tools need to be downloaded, use the following paths: CCS: http://processors.wiki.ti.com/index.php/Category:Code_Composer_Studio_v6

= Steps to build a new application on CC3200 with TI-RTOS: =

 1. 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 CC3200-SDK under ti_rtos folder.

2. Add TI-RTOS as dependency - The application should add ti_rtos_config as dependency to enable the RTSC functionality in the project.



3. 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 a ti_rtos.a library which should be included in the project for using RTOS functionality in the project.

4. Registering Interrupts(if any) -  All interrupts have to be registered to the NVIC using the osi_IntRegister call.(Please refer osi.c for details). This creates a Hwi in TI-RTOS for a hardware interrupt.

Note:

App.cfg present in the ti_rtos_config contains a common configuration files. The benefit of having a separate config 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.

= Notes: =

var Idle = xdc.useModule('ti.sysbios.knl.Idle'); Idle.addFunc('&IdleHookFunction'); where IdleHookFunction is the function that needs to be hooked to the idle task and may vary depending upon the application.
 * 1) For building any of the TI-RTOS based applications, the ti_rtos_config project, which is a dependency project, has to be imported in the workspace.
 * 2) If choosing the RTSC platform in the ti_rtos_config package, the platform name has to ti.platforms.simplelink:CC3200.
 * 1) For 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 in ti_rtos_config project.

= Archives =

The latest software packages are the ones which are currently supported.