TI-RTOS

Last updated
TI-RTOS
Developer Texas Instruments
Written in C
OS family Real-time operating systems
Working stateCurrent
Source model Open source
Initial release1985;39 years ago (1985)
Latest release 2.21.01.08 / February 2018;6 years ago (2018-02)
Marketing target Embedded systems
Available in English
Platforms TMS320 DSPs, ARM, MSP430
Kernel type Microkernel
License BSD, EULA
Official website www.ti.com/tool/ti-rtos

TI-RTOS is an embedded tools ecosystem created and offered by Texas Instruments (TI) for use across a range of their embedded system processors. It includes a real-time operating system (RTOS) component-named TI-RTOS Kernel (formerly named SYS/BIOS, which evolved from DSP/BIOS), networking connectivity stacks, power management, file systems, instrumentation, and inter-processor communications like DSP/BIOS Link. It is free and open-source software, released under a BSD license.

Contents

TI-RTOS can be used within TI's Code Composer Studio integrated development environment (IDE), IAR Systems' IAR Embedded Workbench, and the GNU Compiler Collection (GCC). Separate versions of TI-RTOS are provided to support TI's MSP43x (including MSP432), SimpleLink Wireless MCU, Sitara, Tiva C, C2000, and C6000 lines of embedded devices.

TI-RTOS provides system services to an embedded application, such as preemptive multitasking, memory management, and real-time analysis. TI-RTOS can be used in different microprocessors, with different processing and memory constraints. It is supported by Secure Sockets Layer (SSL) and Transport Layer Security (TLS) libraries such as WolfSSL. [1]

History

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-time kernel 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

Through special plugins provided by Texas Instruments, GStreamer makes use of hardware acceleration provided by e.g., Texas Instruments DaVinci. GStreamer and TI DMAI.svg
Through special plugins provided by Texas Instruments, GStreamer makes use of hardware acceleration provided by e.g., Texas Instruments DaVinci.

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.

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.

Related Research Articles

<span class="mw-page-title-main">Embedded system</span> Computer system with a dedicated function

An embedded system is a specialized computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is embedded as part of a complete device often including electrical or electronic hardware and mechanical parts. Because an embedded system typically controls physical operations of the machine that it is embedded within, it often has real-time computing constraints. Embedded systems control many devices in common use. In 2009, it was estimated that ninety-eight percent of all microprocessors manufactured were used in embedded systems.

<span class="mw-page-title-main">QNX</span> Real-time operating system (RTOS) software

QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market.

RTLinux is a hard realtime real-time operating system (RTOS) microkernel that runs the entire Linux operating system as a fully preemptive process. The hard real-time property makes it possible to control robots, data acquisition systems, manufacturing plants, and other time-sensitive instruments and machines from RTLinux applications. The design was patented. Despite the similar name, it is not related to the Real-Time Linux project of the Linux Foundation.

In computing, Quark is an operating system kernel used in MorphOS. It is a microkernel designed to run fully virtualized computers, called boxes. As of 2020, only one box is available, the ABox, that lets users run extant AmigaOS software compiled for Motorola 68000 series and PowerPC central processing units (CPUs).

<span class="mw-page-title-main">Contiki</span> Real-time operating system

Contiki is an operating system for networked, memory-constrained systems with a focus on low-power wireless Internet of Things (IoT) devices. Contiki is used for systems for street lighting, sound monitoring for smart cities, radiation monitoring and alarms. It is open-source software released under the BSD-3-Clause license.

Nucleus RTOS is a real-time operating system (RTOS) produced by the Embedded Software Division of Mentor Graphics, a Siemens Business, supporting 32- and 64-bit embedded system platforms. The operating system (OS) is designed for real-time embedded systems for medical, industrial, consumer, aerospace, and Internet of things (IoT) uses. Nucleus was released first in 1993. The latest version is 3.x, and includes features such as power management, process model, 64-bit support, safety certification, and support for heterogeneous computing multi-core system on a chip (SOCs) processors.

<span class="mw-page-title-main">Blackfin</span> Family of 16-/32-bit microprocessors

The Blackfin is a family of 16-/32-bit microprocessors developed, manufactured and marketed by Analog Devices. The processors have built-in, fixed-point digital signal processor (DSP) functionality performed by 16-bit multiply–accumulates (MACs), accompanied on-chip by a microcontroller. It was designed for a unified low-power processor architecture that can run operating systems while simultaneously handling complex numeric tasks such as real-time H.264 video encoding.

Micro-Controller Operating Systems is a real-time operating system (RTOS) designed by Jean J. Labrosse in 1991. It is a priority-based preemptive real-time kernel for microprocessors, written mostly in the programming language C. It is intended for use in embedded systems.

<span class="mw-page-title-main">FreeRTOS</span> Real-time operating system

FreeRTOS is a real-time operating system kernel for embedded devices that has been ported to 35 microcontroller platforms. It is distributed under the MIT License.

Eclipse ThreadX is a highly deterministic, embedded real-time operating system (RTOS) programmed mostly in the language C.

<span class="mw-page-title-main">Texas Instruments DaVinci</span> Family of system-on-a-chip processors

The Texas Instruments DaVinci is a family of system on a chip processors that are primarily used in embedded video and vision applications. Many processors in the family combine a DSP core based on the TMS320 C6000 VLIW DSP family and an ARM CPU core into a single system on chip. By using both a general-purpose processor and a DSP, the control and media portions can both be executed by separate processors.

<span class="mw-page-title-main">PikeOS</span> Real-time operating system

PikeOS is a commercial hard real-time operating system (RTOS) which features a separation kernel-based hypervisor. This hypervisor supports multiple logical partition types for various operating systems (OS) and applications, each referred to as a GuestOS. PikeOS is engineered to support the creation of certifiable smart devices for the Internet of Things (IoT), ensuring compliance with industry standards for quality, safety, and security across various sectors. In instances where memory management units (MMU) are not present but memory protection units (MPU) are available on controller-based systems, PikeOS for MPU is designed for critical real-time applications and provides up-to-standard safety and security.

<span class="mw-page-title-main">DSP/BIOS Link</span>

DSP/BIOS Link or DSPLINK is an interprocessor or inter-process communication (IPC) scheme to pass messages and data in multiprocessing systems. In the case of the DaVinci digital signal processor (DSP) family from Texas Instruments, this scheme allows passing messages and data between an ARM client and a DSP server. DSPLINK can be used to implement a layer of software abstraction called a remote procedure call (RPC) that allows a remote function on the DSP to appear as local function calls in the ARM application code. The Codec Engine IPC communication layer is implemented using a RPC call scheme built on DSP/BIOS LINK.

<span class="mw-page-title-main">ChibiOS/RT</span> Real-time operating system

ChibiOS/RT is a compact and fast real-time operating system supporting multiple architectures and released under a mix of the GNU General Public License version 3 (GPL3) and the Apache License 2.0. It is developed by Giovanni Di Sirio.

<span class="mw-page-title-main">TenAsys</span> American software company

TenAsys is a privately owned company providing real-time software and services based on the x86 Intel Architecture and Microsoft Windows operating system.

MQX is a real-time operating system (RTOS) developed by Precise Software Technologies, Inc., and currently sold by Synopsys, Embedded Access, Inc., and NXP Semiconductors.

<span class="mw-page-title-main">QP (framework)</span> Operating system

QP is a family of open source real-time embedded frameworks (RTEFs) and runtime environments based on active objects (actors) and hierarchical state machines. The QP family consists of the lightweight QP/C and QP/C++ frameworks, written in C (C99) and C++ (C++11), respectively.

<span class="mw-page-title-main">OpenComRTOS</span> Real-time operating system

OpenComRTOS is a commercial network-centric, formally developed real-time operating system (RTOS), aimed mainly at the embedded system market.

<span class="mw-page-title-main">T-Kernel</span> Open-source RTOS tailored for 32-bit microcontrollers

T-Kernel is an open source real-time operating system (RTOS) designed for 32-bit microcontrollers. It is standardized by the T-Engine Forum, which distributes it under a T-License agreement. There is also a corresponding Micro T-Kernel (μT-Kernel) implementation designed for embedded systems with 16-bit or 8-bit microcontrollers.

<span class="mw-page-title-main">Zephyr (operating system)</span> Real-time operating system

Zephyr is a small real-time operating system (RTOS) for connected, resource-constrained and embedded devices supporting multiple architectures and released under the Apache License 2.0. Zephyr includes a kernel, and all components and libraries, device drivers, protocol stacks, file systems, and firmware updates, needed to develop full application software.

References

  1. "Speed Up Development: Code Composer Studio with TI-RTOS and wolfSSL". wolfSSL. 2015-08-13. Retrieved 2019-02-19.
  2. Texas Instruments to Acquire Spectron Microsystems from Dialogic Corporation, Press Release January 22, 1998
  3. Differences Between DSP/BIOS and SYS/BIOS, Texas Instruments Wiki
  4. SYS/BIOS 6.40.01.15 GA Release Notes
  5. TI-RTOS Product Releases and Download Links
  6. TI offers scalable thread-aware RTOS spanning full MCU portfolio
  7. TI-RTOS Kernel software page on TI website