TI-RTOS: Real-Time Operating System (RTOS)

(ACTIVE) TI-RTOS

Description & Features

Technical Documents

Support & Community


Order Now
Part Number Buy from Texas Instruments or Third Party Alert Me Status Current Version   Version Date  

TI-RTOS:
Real-Time Operating System (RTOS) provided by Texas Instruments

Free

ACTIVE Current and previous versions    

TIRTOS-SSL-SRC:
SSL/TLS protocols and ciphers for TI-RTOS

ACTIVE December 2014   v3.2.0  
Key Document
Download - PDF Icon Download - PDF Icon

Description


Scalable RTOS Solution

TI-RTOS accelerates development schedules by eliminating the need to create basic system software functions from scratch. TI-RTOS scales from a real-time multitasking kernel - TI-RTOS Kernel (formerly known as SYS/BIOS) - to a complete RTOS solution including additional middleware components, device drivers and power management. The combination of TI-RTOS power management and TI's ultra low-power MCUs enables developers to design applications with much longer battery life. By providing essential system software components pre-tested and pre-integrated, TI-RTOS enables developers to focus on differentiating their application.

TI-RTOS builds on existing proven software components to ensure reliability and quality. It augments these with documentation, additional examples and APIs appropriate for multitasking development and integration testing to verify that all components work together. TI-RTOS is fully tested with the Code Composer Studio™ Integrated Development Environment (CCS IDE). For some microcontroller platforms, TI-RTOS includes libraries that work with the IAR Embedded Workbench IDE and GCC.

Licensing - TI-RTOS is provided with full source code and requires no up-front or runtime license fees. The multitasking kernel, TCP/IP networking stack, FAT File System, and all device drivers and examples all use open source BSD-like licensing. This enables developers to easily pass on software to partners or sub-contractors without cumbersome licensing constraints. Unlike the GPL license, the BSD license does not impose requirements for developers to ship their entire application source code.

TI-RTOS availability

TI-RTOS Kernel is available on most TI microprocessors, microcontrollers and DSPs. TI-RTOS middleware, drivers and board initialization components are available on select ARM® Cortex™-M4 Tiva-C, C2000™ dual core C28x + ARM Cortex-M3, MSP430™ and MSP432™ microcontrollers, and the SimpleLink™ WiFi® CC3200 and SimpleLink™ CC26xx ULP Wireless MCUs.

  • Click "Get Software" button above to see the TI-RTOS download page. Includes current and previous versions for TI MCU and Wireless MCU device families.
  • TI-RTOS may also be downloaded using the Code Composer Studio IDE (CCS) Applications Center.
  • DOWNLOAD NOTE: For TI DSPs and ARM Cortex-A8-based devices, including multicore devices, the current versions of applicable components such as TI-RTOS Kernel (formerly known as SYS/BIOS) and the IPC package, are available only through the SDKs for those devices.

 

Features

TI-RTOS offers the following components:

TI-RTOS Module Description
TI-RTOS Kernel

TI-RTOS Kernel (formerly known as SYS/BIOS) provides deterministic preemptive multithreading and synchronization services, memory management, and interrupt handling. TI-RTOS Kernel is highly scalable down to a few KBs of memory.

TI-RTOS SSL

TI-RTOS SSL provides TLS/SSL and DTLS along with an extensive cipher library. It is based on wolfSSL. This product requires a fee (see above).  An evaluation version (GPL license) is available here.

TI-RTOS Networking TI-RTOS Networking (formerly known as the NDK) provides an IPv4 and IPv6-compliant TCP/IP stack along with associated network applications such as DNS, HTTP, and DHCP.
TI-RTOS Wireless Connectivity TI-RTOS is fully integrated with the wireless connectivity stacks provided with the SimpleLink™ Wireless MCU families, including Wi-Fi, Bluetooth Smart (Bluetooth Low Energy), and ZigBee®.
TI-RTOS File System TI-RTOS File System is a FAT-compatible file system based on the open source Fatfs product.
TI-RTOS USB TI-RTOS USB provides both USB Host and Device stacks, as well as MSC, CDC, and HID class drivers. TI-RTOS USB uses the proven TivaWare (formerly known as StellarisWare) USB stack.
TI-RTOS IPC The TI-RTOS IPC provides efficient interprocessor communication in multicore devices.
TI-RTOS Instrumentation TI-RTOS Instrumentation  allows developers to include debug instrumentation in their application that enables run-time behavior, including context-switching, to be displayed by system-level analysis tools.
TI-RTOS Drivers and Board Initialization          TI-RTOS Drivers and Board Initialization provides a set of device driver APIs, such as Ethernet, UART and I2C, that are standard across all devices, as well as initialization code for all supported boards. All driver and board initialization APIs are built on the TivaWare, MWare, CCWare, or MSPWare libraries.
TI-RTOS Power Manager The TI-RTOS Power Manager provides pre-implemented, ultra-low power modes and can automatically determine the optimal low-power mode when the CPU becomes idle. TI-RTOS drivers are power-aware and communicate with the Power Manager to ensure peripherals are powered-down when not in use.

See our Power Management whitepaper for more details.

 TI-RTOS Ecosystem Partners

Customers who require additional functionality to complement that provided by TI-RTOS can license system software modules from TI-RTOS Ecosystem partners:

Company Products
HCC Embedded              

Failsafe and Flash File Systems

InterNiche Technologies   

SNMP and other network applications

Simma Software CAN stacks

TI-RTOS Kernel Overview

TI-RTOS Kernel is a deterministic, preemptive, multitasking kernel that enables developers to create sophisticated applications without compromising real-time deadlines. The kernel services are summarized in the table below:

Services TI-RTOS Kernel Services Description
Event

Wait on any combination of multiple RTOS or custom events

Hardware Interrupts (HWI)

Interface from hardware interrupts to the RTOS

Software Interrupts (SWI) Lightweight preemptible threads that use the program stack but cannot yield
Task Independent threads of execution that can yield the processor
Timer Interface to hardware timers
Mailbox Synchronized data exchange between tasks
GateMutex Binary mutex with priority inheritance
Semaphores

Counting semaphores

Clock

Time-triggered functions

HeapMem

Variable-sized dynamic heaps

HeapBuf

Fast, deterministic fixed-size buffer pools

HeapMultiBuf

Variable-sized, deterministic dynamic heaps based on multiple buffer pools

Cache

Cache configuration and management

Diags

User-configurable tracing including asserts for parameter and state checking

Error

Define, raise, and check error-handlers

Log

Low-overhead logging and print statements

Memory

Memory allocation interface

System

General system functions such as abort, exit, and system printf

Timestamp

32- and 64-bit timestamping services

TI-RTOS Power Manager

For TI devices designed for use in IoT endpoint applications where power consumption is a key consideration, such as the SimpleLink™ CC3200 and CC2600 and MSP432™ MCU, TI-RTOS offers power management features that enable developers to easily leverage underlying hardware capabilities in the silicon.

See Power Management white paper for details:

  • Tick suppression is supported to eliminate unnecessary CPU wake-ups resulting from system timer ticks with no associated timeout or periodic function activities.
  • TI-RTOS power manager tracks peripheral activity through its drivers and automatically idles peripheral clocks and associated power domains when they are unused.
  • A power policy runs in the IDL task. This calculates the most suitable power down mode to enter during CPU idle periods to maximize power savings.
  • TI-RTOS power manager typically offers multiple power modes (e.g.idle, standby, power down). These are all fully integrated and tested for a supported device.
  • The power manager includes constraint setting and a register/notify mechanism so the application can communicate with the power manager. This prevents inappropriate power downs.

 

TI-RTOS Kernel Multicore Support

TI-RTOS Kernel fully supports TI's multicore ARM and DSP solutions. The TI-RTOS Kernel provides shared image and SMP support. The associated IPC Package provides an extensive set of multicore communication mechanisms that simplify development of distributed applications and leverage any hardware mutual exclusion features for maximum performance. These services include:

IPC Objects IPC Services Description
HeapBuf

Multicore/processor-safe shared memory implementation of HeapBuf

HeapMultiBuf                          

Multicore/processor-safe shared memory implementation of HeapMultiBuf

List Automic linked lists
ListMP Multiprocessor atomic linked lists
MessageQ Transparent, variable-length messages
Multiproc Processor identification
NameServer Enables location of IPC objects in multicore/processor topologies
Notify Low-latency asynchronous interrupt to another processor
SharedRegion Enables definition of shared pointers between different processors/cores
Stream Read/write or buffer streaming interface to peripheral drivers

OS-aware Debug and Analysis Tools

In conjunction with Code Composer Studio (CCS), TI-RTOS Kernel provides several tools to aid debugging and optimization of multithreaded applications. The Run-time Object Viewer (ROV) enables a developer to check the status of OS objects such as tasks, mailboxes, and semaphores, including whether a task is ready, running or blocked; which tasks are blocked on an IPC; and whether tasks have exceeded their stack limits. ROV is integrated into both the CCS and IAR Embedded Workbench IDEs. CCS also includes a tool called RTOS Analyzer that captures behavior in real-time and can display the thread execution and switching sequence, thread and system CPU load, OS events, and user-defined log information.

TI-RTOS Networking Overview

TI-RTOS Networking - formerly known as the Network Developer Kit (NDK) - combines a dual mode IPv4/IPv6 stack with some network applications. TI-RTOS Networking support is available for both Ethernet-enabled MCU, MPUs, and DSPs. TI-RTOS Networking includes:

  • Core TCP/IP protocol stack: Dual-mode IPv6/IPv4 stack in both source and binary, including VLAN packet priority-marking, TCP, UDP, ICMP, IGMP, IP, and ARP
  • Network applications: HTTP, TELNET, TFTP, SNTP, DNS, DHCP (IPv4 only) client and server
  • Serial/cellular modem support: PPP and PPPoe
  • Application Programming interfaces: BSD Sockets, zero-copy sockets, and support for raw Ethernet
  • Device drivers: Pre-tested device drivers are available for some TI devices as part of TI-RTOS or in TI Software Development Kits (SDK)

In addition, an optional add-on is available for TLS/SSL support. TI-RTOS offers Wi-Fi support through a driver for the SimpleLink CC3100. This driver is pre-integrated with the SPI driver for devices such as Tiva C and MSP432™ MCUs, enabling Wi-Fi capability to be added to these right out-of-the-box. TI-RTOS for the CC3200 fully supports the built-in Wi-Fi capability on that device.

 



Technical Documents
User guides (10)
Title Abstract Type Size (KB) Date Views
PDF 170 07 Apr 2015 870
PDF 1671 20 Mar 2015 3,681
PDF 1715 20 Mar 2015 3,321
PDF 1555 20 Mar 2015 3,531
PDF 918 20 Mar 2015 1,956
PDF 1888 20 Mar 2015 21,353
PDF 152 19 Mar 2015 1,708
PDF 2257 05 Nov 2014 25,450
PDF 1256 18 Nov 2013 3,352
PDF 620 18 Nov 2013 4,492
White papers (1)
Title Abstract Type Size (KB) Date Views TI Recommends
PDF 829 23 Mar 2015 7,115
More literature (1)
Title Abstract Type Size (KB) Date Views TI Recommends
PDF 154 31 Mar 2015 10,514

Design Kits & Evaluation Modules (8)

Name Part Number Tool Type
CC2650 Development Kit  CC2650DK  Development Kits 
DK-TM4C129X Connected Development Kit  DK-TM4C129X  Development Kits 
MSP430F5529 USB LaunchPad Evaluation Kit  MSP-EXP430F5529LP  Evaluation Modules & Boards 
MSP430FR5969 LaunchPad Development Kit  MSP-EXP430FR5969  Evaluation Modules & Boards 
MSP432P401R LaunchPad  MSP-EXP432P401R  Evaluation Modules & Boards 
SimpleLink Wi-Fi CC3200 LaunchPad  CC3200-LAUNCHXL  Evaluation Modules & Boards 
TM4C1294 Connected LaunchPad  EK-TM4C1294XL  Evaluation Modules & Boards 
Tiva™ C Series LaunchPad Evaluation Kit  EK-TM4C123GXL  Evaluation Modules & Boards 

TI Devices (85)

Part Number Name Product Family
CC2620  SimpleLink ultra-low power wireless MCU for RF4CE  Wireless Connectivity 
CC2630  SimpleLink ultra-low power wireless MCU for 2.4-GHz IEEE 802.15.4-based RF Protocols  Wireless Connectivity 
CC2640  SimpleLink ultra-low power wireless MCU for Bluetooth Smart  Wireless Connectivity 
CC2650  SimpleLink multi-standard 2.4 GHz ultra-low power wireless MCU  Wireless MCUs 
CC3100  CC3100 SimpleLink™ Wi-Fi and Internet-of-Things solution for MCU Applications  SimpleLink Solutions 
CC3100MOD  SimpleLink Wi-Fi CC3100 Internet-on-a-chip Wireless Network Processor module  Wireless Connectivity 
CC3200  CC3200 SimpleLink™ Wi-Fi® and Internet-of-Things solution, a Single-Chip Wireless MCU  Wireless MCUs 
CC3200MOD  SimpleLink Wi-Fi CC3200 Internet-on-a-chip Wireless MCU module  Wireless Connectivity 
F28M35E20B  Concerto Microcontroller  Control + Automation 
F28M35H22C  Concerto Microcontroller  Control + Automation 
F28M35H52C  Concerto Microcontroller  Control + Automation 
F28M35M20B  Concerto Microcontroller  Control + Automation 
F28M35M22C  Concerto Microcontroller  Control + Automation 
F28M35M52C  Concerto Microcontroller  Control + Automation 
MSP432P401M  Low-power + high performance 32-bit ARM Cortex M4F with 128KB Flash and 32KB RAM  Low Power + Performance 
MSP432P401R  Low-power + high performance 32-bit ARM Cortex M4F with 256KB Flash and 64KB RAM  Low Power + Performance 
TM4C1230D5PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1230E6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1230H6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1231C3PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1231D5PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1231D5PZ  Tiva C Series Microcontroller  Control + Automation 
TM4C1231E6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1231E6PZ  Tiva C Series Microcontroller  Control + Automation 
TM4C1231H6PGE  Tiva C Series Microcontroller  Control + Automation 
TM4C1231H6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1231H6PZ  Tiva C Series Microcontroller  Control + Automation 
TM4C1232C3PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1232D5PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1232E6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1232H6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1233C3PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1233D5PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1233D5PZ  Tiva C Series Microcontroller  Control + Automation 
TM4C1233E6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1233E6PZ  Tiva C Series Microcontroller  Control + Automation 
TM4C1233H6PGE  Tiva C Series Microcontroller  Control + Automation 
TM4C1233H6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1233H6PZ  Tiva C Series Microcontroller  Control + Automation 
TM4C1236D5PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1236E6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1236H6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1237D5PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1237D5PZ  Tiva C Series Microcontroller  Control + Automation 
TM4C1237E6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1237E6PZ  Tiva C Series Microcontroller  Control + Automation 
TM4C1237H6PGE  Tiva C Series Microcontroller  Control + Automation 
TM4C1237H6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C1237H6PZ  Tiva C Series Microcontroller  Control + Automation 
TM4C123AE6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C123AH6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C123BE6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C123BE6PZ  Tiva C Series Microcontroller  Control + Automation 
TM4C123BH6PGE  Tiva C Series Microcontroller  Control + Automation 
TM4C123BH6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C123BH6PZ  Tiva C Series Microcontroller  Control + Automation 
TM4C123BH6ZRB  Tiva C Series Microcontroller  Control + Automation 
TM4C123FE6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C123FH6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C123GE6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C123GE6PZ  Tiva C Series Microcontroller  Control + Automation 
TM4C123GH6PGE  Tiva C Series Microcontroller  Control + Automation 
TM4C123GH6PM  Tiva C Series Microcontroller  Control + Automation 
TM4C123GH6PZ  Tiva C Series Microcontroller  Control + Automation 
TM4C123GH6ZRB  Tiva C Series Microcontroller  Control + Automation 
TM4C1290NCPDT  Tiva C Series Microcontroller  Control + Automation 
TM4C1290NCZAD  Tiva C Series Microcontroller  Control + Automation 
TM4C1292NCPDT  Tiva C Series Microcontroller  Control + Automation 
TM4C1292NCZAD  Tiva C Series Microcontroller  Control + Automation 
TM4C1294KCPDT  Tiva C Series Microcontroller  Control + Automation 
TM4C1294NCPDT  Tiva C Series Microcontroller  Control + Automation 
TM4C1294NCZAD  Tiva C Series Microcontroller  Control + Automation 
TM4C1297NCZAD  Tiva C Series Microcontroller  Control + Automation 
TM4C1299KCZAD  Tiva C Series Microcontroller  Control + Automation 
TM4C1299NCZAD  Tiva C Series Microcontroller  Control + Automation 
TM4C129CNCPDT  Tiva C Series Microcontroller  Control + Automation 
TM4C129CNCZAD  Tiva C Series Microcontroller  Control + Automation 
TM4C129DNCPDT  Tiva C Series Microcontroller  Control + Automation 
TM4C129DNCZAD  Tiva C Series Microcontroller  Control + Automation 
TM4C129EKCPDT  Tiva C Series Microcontroller  Control + Automation 
TM4C129ENCPDT  Tiva C Series Microcontroller  Control + Automation 
TM4C129ENCZAD  Tiva C Series Microcontroller  Control + Automation 
TM4C129LNCZAD  Tiva C Series Microcontroller  Control + Automation 
TM4C129XKCZAD  Tiva C Series Microcontroller  Control + Automation 
TM4C129XNCZAD  Tiva C Series Microcontroller  Control + Automation 

Wikis

Visit the TI Wiki

TI E2E™ community

TI E2E Community

As a member of my.TI you can join the TI E2E™ Community where you can ask questions, share ideas and collaborate with fellow engineers and TI experts

Contents are provided "AS IS" by the respective TI and Community contributors and do not constitute TI specifications. See Terms of use.