The roots of TI-RTOS were originally developed by Spectron Microsystems (a subsidiary of Dialogic Corporation) as the first RTOS developed specifically for digital signal processors and was named SPOX. Spectron eventually also developed a second product named BIOSuite that included a real-timekernel and various associated tools.
Spectron Microsystems was eventually acquired by Texas Instruments[2] and the SPOX and BIOSuite products were merged into one microkernel product named DSP/BIOS. The DSP/BIOS RTOS product underwent significant changes to its application programming interface (API) in version 6.0.[3] With the release of version 6.3 in August 2010, DSP/BIOS was renamed SYS/BIOS to reflect its support for microcontrollers beyond DSPs. With the release of version 6.40 in April 2014, SYS/BIOS was renamed TI-RTOS Kernel and made a component of the TI-RTOS product suite.[4]
TI-RTOS 1.00 was released initially in July 2012.[5] for TI's microprocessors[6] The 2.00 release of TI-RTOS in April 2014 completed the renaming process and integrated the TI-RTOS Kernel and other components under one software umbrella.
Component overview
TI-RTOS consists of many components for Kernel, Drivers and Board Initialization, Network Services, Interprocessor Communication, Instrumentation, and File Systems.
Licensing
Most of the TI-RTOS components are released under the BSD License. Any user can rebuild the kernel using the included source code.
RTOS Kernel Overview
Organization
The TI-RTOS Kernel[7] is made up of a number of discrete components, called modules. Each module can provide services via an API and is individually configurable. A developer can choose whether this module is included in the runtime image or optimized out. If included, the user can configure various aspects of the Semaphore module, and instances of semaphores to be created on system start up. The module provides an API so that semaphores can be created, posted, pended, and deleted as an embedded program runs.
Threading
TI-RTOS Kernel supports different types of threads in an embedded system.
Hardware Interrupt (Hwi): support threads initiated by a hardware interrupt.
Software Interrupt (Swi): structured to be similar to Hwis, but allow processing to be deferred until after a hardware interrupt has completed.
Task: a discrete thread that can execute or block while waiting for an event to occur.
Idle: the lowest priority thread that only runs when no other thread is ready to execute.
Memory management
TI-RTOS Kernel has tools to set up an embedded system's memory map and allow memory buffers to be allocated and deallocated while the system runs. The type of memory manager used during runtime is configurable so that memory fragmentation can be minimized.
Real-time debugging
The TI-RTOS kernel can use modules to provide information about the execution of the system. This includes the time utilisation of the CPU by various threads and the logging of events that occur both in the system application and in the TI-RTOS kernel. The Code Composer Studio IDE is able to graphically display this logged data for analysis.