Inderpreet Singh

Getting Started with TI RTOS and the Texas Instruments CC1310 Launchpad

4 minute read

Getting started with TI RTOS and CC1310

The CC1310 is a sub Ghz single chip solution that run its RF core on a Arm Cortex M0 and the Application processor is an Arm cortex M3 which means it is very flexible in terms of applications. Since things can get very complicated very quickly, TI recommends not developing native applications like for the MSP430 and AVR that is the bread and butter of most firmware. Instead, they recommend using TI RTOS to host your applications and provide a generous load of examples and what not to aid getting of the ground quickly.

Contents

Unfortunately, there is more than one way to skin a cat and Code Composer Studio can seem downright scary to the new-comer. In this article, I discuss the use of TI RTOS with CCS 7 and touch on pThreads for the POSIX aware readers out there.

What is an RTOS

Here we go again! So from the wikipedia out there…

A real-time operating system (RTOS) is an operating system (OS) intended to serve real-time applications that process data as it comes in, typically without buffering delays. Processing time requirements (including any OS delay) are measured in tenths of seconds or shorter increments of time. They either are event driven or time sharing. Event driven systems switch between tasks based on their priorities while time sharing systems switch the task based on clock interrupts.

Having said that, my version is simply this. An RTOS is a software layer that allows you to write something simple like a function to blink and LED or read a button press and then ask the RTOS to manage things when you want other functions to work in addition to you blinky. These other functions can be listening to the radio or send rf data etc. Why RTOSs are a good ideas is because they allow you to not micromanage everything your processor or peripherals are doing and concentrate on one thing at a time.

The official TI webpage can be found at http://www.ti.com/tool/ti-rtos

The CC1310 sub GHz launchpad

This launchpad is very special since they are designed for low power and long range. When I say long range, I mean, 20KMs on a coin cell. Yea. Thats right!

Getting back to TI RTOS

Install em and create a workspace in your favourite location. There are now two ways to create a project. The first is to simple right click in the project explorer and select ‘New CCS Project’

Flow the rabbit and select TI-RTOS empty (minimal) Example and give it a name.

Click Click Click

Press that hammer button to check if it compiles. It should. The example comes with a Blinking LED Task that allows you to check if everything is all right and if you connect and program your launchpad, you should be able to see things work. For a demo and instructions on method two, take a look at the video below.

What is POSIX

Again a bit of Wikipedia here.

The Portable Operating System Interface (POSIX)[1] is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines the application programming interface (API), along with command line shells and utility interfaces, for software compatibility with variants of Unix and other operating systems.

And the TI Wiki says…

SYS/BIOS (v6.42.01 and higher) provides a subset of the POSIX thread (pthread) APIs. These include pthread threads, mutexes, read-write locks, barriers, and condition variables. The pthread APIs can simplify porting applications from a POSIX environment to SYS/BIOS, as well as allowing the same code to be compiled to run in a POSIX environment and with SYS/BIOS. As the pthread APIs are built on top of the SYS/BIOS Task and Semaphore modules, some of the APIs can be called from SYS/BIOS Tasks.