SYS/BIOS

SYS/BIOS
Company / developer Texas Instruments
OS family Real-time operating systems
Working state Current
Source model Free Software/Open Source
Initial release 1985 (age 26–27)
Latest stable release 6.3 / June 2010
Marketing target Embedded systems
Available programming languages(s) C
Supported platforms TMS320 DSPs, ARM, MSP430
Kernel type Microkernel
License EULA
Official website www.ti.com

SYS/BIOS is a real time operating system created and offered by Texas Instruments (TI) for use in a wide range of their embedded processors. SYS/BIOS is a component of TI’s Code Composer Studio integrated development environment.

SYS/BIOS provides a wide range of system services to an embedded application such as preemptive multitasking, memory management and real-time analysis. Because SYS/BIOS 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.

Contents

History

The roots of SYS/BIOS 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. With the release of version 6.3, DSP/BIOS was renamed to SYS/BIOS in order to reflect its support for microcontrollers beyond DSPs.

OS overview

Licensing

SYS/BIOS is released under the BSD License and any user can build the kernel from the included source code.

Organization

The SYS/BIOS software product 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

SYS/BIOS provides support for several different types of threads in an embedded system.

Memory management

SYS/BIOS 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

SYS/BIOS 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 SYS/BIOS itself. In addition, the Code Composer Studio integrated development environment can take this logged data and graphically display it for the developer.

References

  1. ^ Press Release January 22, 1998

See also

External links