TI-RTOS

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
TI-RTOS
Developer Texas Instruments
OS family Real-time operating systems
Working state Current
Source model Open source
Initial release 1985 (age 32–33)
Latest release 2.20 / June 2016
Marketing target Embedded systems
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 in a wide range of their embedded processors. It includes a real time operating system component called "TI-RTOS Kernel" (formerly known as "SYS/BIOS", which evolved from "DSP/BIOS") along with additional components that support device drivers, networking connectivity stacks, power management, file systems, instrumentation, and inter-processor communications like DSP/BIOS Link.

TI-RTOS can be used within TI’s Code Composer Studio integrated development environment, 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 a wide range of system services to an embedded application such as preemptive multitasking, memory management and real-time analysis. Because TI-RTOS can be used in such a wide variety of different microprocessors with very different processing and memory constraints, it was designed to be highly configurable.

History

The roots of TI-RTOS were originally developed by Spectron Microsystems (a subsidiary of Dialogic Corporation) as the first real time operating system developed specifically for digital signal processors and was named SPOX. Spectron Microsystems eventually also developed a second product called BIOSuite that included a light-weight real time kernel and various associated tools that allowed for configuration and real-time analysis.

Spectron Microsystems was eventually acquired by Texas Instruments [1] and the SPOX and BIOSuite products were combined into a single microkernel product called DSP/BIOS. The DSP/BIOS RTOS product underwent significant changes to its API in version 6.0.[2] With the release of version 6.3 in August 2010, DSP/BIOS was renamed SYS/BIOS in order to reflect its support for microcontrollers beyond DSPs.[3] With the release of version 6.40 in April 2014, SYS/BIOS was renamed TI-RTOS Kernel and made a tightly-integrated component of the TI-RTOS product suite.[4]

TI-RTOS 1.00 was initially released 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.

TI-RTOS consists of the following components, some of which are not available for all embedded target families:

  • TI-RTOS Kernel: Embedded RTOS formerly called SYS/BIOS
  • TI-RTOS Drivers and Board Initialization: Target-specific device drivers. Drivers include Ethernet, GPIO, I²C, I²S, PWM, SPI, UART, USB, Watchdog timer, and Wi-Fi.
  • TI-RTOS Network Services: Stacks to support the TCP/IP, HTTP, and TLS/SSL protocols
  • TI-RTOS Interprocessor Communication: APIs to support communication between TI's embedded processors (Evolved from DSP/BIOS_Link)
  • TI-RTOS Instrumentation: APIs and tools for real-time performance and behavior analysis
  • TI-RTOS File System: APIs to support the FAT file system

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. For example, system semaphores are provided by a module called ti.sysbios.knl.Semaphore and the developer can choose whether this module is included in the runtime image or optimized out. If the module is included, the user can configure various aspects of the Semaphore module and can also configure instances of semaphores to be created as soon as the system starts up. The Semaphore module also provides an API so that semaphores can be created, posted, pended and deleted while embedded program runs.

Threading

TI-RTOS Kernel provides support for several 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 provides tooling to set up an embedded system’s memory map and also to allow memory buffers to be allocated and deallocated while the system runs. The type of memory manager used during runtime is actually configurable so that memory fragmentation can be minimized if necessary.

Real time debugging

TI-RTOS Kernel provides modules that allow it to provide information about how the system is executing. This includes how different threads are loading the CPU over time as well as logging events as they occur in both the system application as well as within the TI-RTOS Kernel itself. In addition, the Code Composer Studio integrated development environment can take this logged data and graphically display it for the developer.

References

  1. ^ Texas Instruments to Acquire Spectron Microsystems from Dialogic Corporation, Press Release January 22, 1998
  2. ^ Differences Between DSP/BIOS and SYS/BIOS, Texas Instruments Wiki
  3. ^ SYS/BIOS Product Download Pages
  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

External links

  • TI-RTOS software page on TI website
  • TI-RTOS User's Guide (link to latest version)
  • TI-RTOS Downloads
  • TI-RTOS page on TI wiki
  • SYS/BIOS page on TI wiki
Retrieved from "https://en.wikipedia.org/w/index.php?title=TI-RTOS&oldid=822949686"
This content was retrieved from Wikipedia : http://en.wikipedia.org/wiki/TI-RTOS
This page is based on the copyrighted Wikipedia article "TI-RTOS"; it is used under the Creative Commons Attribution-ShareAlike 3.0 Unported License (CC-BY-SA). You may redistribute it, verbatim or modified, providing that you comply with the terms of the CC-BY-SA