TI-RTOS is a real-time operating system for TI microcontrollers. TI-RTOS enables faster development by eliminating the need for developers to write and maintain system software such as schedulers, protocol stacks and drivers. It combines a real-time multitasking kernel with additional middleware components including TCP/IP and USB stacks, a FAT file system, and device drivers, enabling developers to focus on differentiating their application. TI-RTOS provides a consistent embedded software platform across TI’s microcontroller devices, making it easy to port legacy applications to the latest devices.
In addition, TI-RTOS provides examples that demonstrate how to use each supported device and driver. These can be used as a starting point for your own projects. TI-RTOS contains its own source files, pre-compiled libraries (both instrumented and non-instrumented), and a large suite of example applications.
The following links help you learn more about TI-RTOS:
- TI-RTOS Tool Folder on ti.com
- TI-RTOS Product Bulletin (SPRT646)
- TI-RTOS OS Components video on YouTube
- TI-RTOS Tools video on YouTube
- TI-RTOS User's Guide (SPRUHD4)
- TI-RTOS Kernel Workshop Live Training
- TI-RTOS Kernel Workshop Online Videos
- TI-RTOS POSIX Thread (pthread) Support
While TI-RTOS scales across TI processors, the way to obtain TI-RTOS depends on the device you are using since it is bundled into product SDKs.
- SimpleLink Devices (MSP432, CC13xx, CC26xx, CC32xx)
- Processors devices (Sitara, C66, etc.)
- TM4C, MSP430 and Concerto (M3 + C28) devices
- Non-Concerto C28 devices
- SYS/BIOS. SYS/BIOS is a scalable real-time kernel. It is designed to be used by applications that require real-time scheduling and synchronization or real-time instrumentation. It provides preemptive multi-threading, hardware abstraction, real-time analysis, and configuration tools. SYS/BIOS is designed to minimize memory and CPU requirements on the target. The FatFS module used by several examples is part of SYS/BIOS.
- Drivers. Kernel aware drivers with a standard API set across all supported devices.
- NDK. The Network Developer's Kit (NDK) is a platform for development and demonstration of network enabled applications on TI embedded processors, currently limited to the TMS320C6000 family and ARM processors.
- UIA. The Unified Instrumentation Architecture provides target content that aids in the creation and gathering of instrumentation data (for example, Log data). UIA is used with System Analyzer for reporting data in CCS.
- XDCtools. This component provides the underlying tooling for configuring and building SYS/BIOS, IPC, NDK, and UIA.
- Device Specific Libraries
- MWare. The M3 portion of ControlSuite. It includes low-level drivers and examples.
- TivaWare. This software is an extensive suite of software designed to simplify and speed development of Tiva-based microcontroller applications. This component is rebuilt to include only the portions required by TI-RTOS.
- MSPWare. This software is an extensive suite of software designed to simplify and speed development of MSP430 and MSP432 based microcontroller applications.
- CC32xx. This software is an extensive suite of software designed to simplify and speed development of SimpleLink based microcontroller applications.
- CC13xx/CC26xx. This software is an extensive suite of software designed to simplify and speed development of SimpleLink based microcontroller applications.
TI-RTOS installs versions of these components that have been reduced in size by removing files that apply only to device families not supported by TI-RTOS.
You can use the graphical conﬁguration tool in CCS to easily conﬁgure which drivers are used by an application. TI-RTOS examples show how to use these drivers.
TI-RTOS includes drivers for the following peripherals. Note that all of these drivers are built on top of device specific libraries (e.g. TivaWare, MSPWare, etc.).
- EMAC. Ethernet driver used by the networking stack (NDK) and not intended to be called directly.
- WiFi. Used under WiFI host driver (Supports CC3100).
- SDSPI. Driver for SD cards using an SPI (SSI) bus. This driver is used by the FatFS and not intended to be interfaced directly.
- I2C. API set intended to be used directly by the application or middleware.
- I2S. API set intended to be used directly by the application or middleware.
- SPI. API set intended to be used directly by the application or middleware.
- GPIO. API set intended to be used directly by the application or middleware to manage the GPIO interrupts, pins, and ports (and therefore the LEDs).
- Pin. API set intended to be used directly by the application or middleware to manage the GPIO interrupts, pins, and ports (and therefore the LEDs).
- UART. API set intended to be used directly by the application to communicate with the UART.
- PWM. API set intended to be used directly by the application to communicate with a PWM.
- Camera. API set intended to be used directly by the application to communicate with a camera.
- Watchdog. API set intended to be used directly by the application or middleware to manage the watchdog timer.
- USBMSCHFatFs. USB MSC Host under FatFS (for Flash drives). This driver is used by FatFS and is not intended to be called directly.
- Other USB functionality. See the USB examples for reference modules that provide support for the Human Interface Device (HID) class (mouse and keyboard) and Communications Device Class (CDC). This code is provided as part of the examples, not as a separate driver.
TI-RTOS provides examples for Launchpad boards and other popular development kits. Please refer to the TI-RTOS Release notes for a list of the exact boards. The following are the different types of TI-RTOS examples:
- Drivers Examples
- Kernel Examples
- Instrumentation Examples
- Demos (for selected boards)
TI-RTOS examples are part of the TI-RTOS product and can be built via
- TI Resource Explorer in CCS Desktop
- TI Resource Explorer in CCS Cloud)
- IAR Embedded Workshop
- Command-line makefiles
Examples can be ported to other boards and devices as described in the TI-RTOS Porting Guide.
Support, Known Issues and Additional Topics
Support topics can be found at the TI-RTOS Support Wiki page.
The "Intro to TI-RTOS Kernel Workshop" is now available live or online. Follow the links below to find out more. You can take a LIVE workshop (scheduled at various sites around the U.S.) or download/stream the videos of each chapter online and watch at your own pace. All of the labs, solutions, student guides, installation instructions, lab procedures, etc., are all available to you. The workshop labs run on all MCU platforms (C28x, MSP430, Tiva-C) and the C6000. Check it out...
For live instruction: Intro to TI-RTOS Kernel Workshop - Live
For online videos:
Intro to TI-RTOS Kernel Workshop - Online