DSP/BIOS Real-Time Kernel Status: ACTIVE

DSPBIOS

      
         
  DSPBIOS
NameDSP/BIOS Real-Time Kernel
StatusACTIVE
Price (US$) 

Product Information

Description

Complete DSP OS Solution

DSP/BIOS kernel is a scalable real-time multi-tasking kernel, designed specifically for the TMS320C6000™, TMS320C5000™, and TMS320C28x™ DSP platforms. Together with its associated networking, microprocessor-DSP communications, and driver modules, DSP/BIOS provides a solid foundation for even the most sophisticated DSP applications. DSP/BIOS has been proven in thousands of customer designs and is one of the world’s mostly widely used real-time operating systems. DSP/BIOS requires no runtime license fees and is backed by Texas Instruments worldwide training and support organizations.

DSP/BIOS provides standardized APIs across C6000, C5000 and C28x DSP platforms to support rapid application migration and is also optimized to run on the DSP cores on OMAP™ devices. DSP/BIOS is available both standalone and as an integral part of the Code Composer Studio Interactive Development Environment (IDE) and includes graphical Kernel Object Viewer and Real-Time Analysis tools specifically focused on debugging and tuning multitasking applications.

DSP/BIOS is backed by an experienced development team that regularly adds new capabilities, such as variable length message passing and power management.

 

Download and Related Information

See: DSP/BIOS Download Page – Current and previous versions
See: DSP Target Content Infrastructure – All Target Software
See: Wiki: DSP/BIOS
See: TI E2E Community

More than a Kernel

In addition to the core DSP/BIOS multitasking kernel services and development tools, TI provides other DSP/BIOS-compatible modules that simplify application development:
  • Network Developer’s Kit: A TCP/IP stack including higher level services such as HTTP server and telnet.
  • DSP/BIOS Link - See below for more information: Microprocessor-DSP communications and control software that enables a microprocessor to bootload and communicate with a DSP.
  • Processor Support Package (PSP): The PSP includes DSP/BIOS drivers for devices such as serial ports and EMACs, as well the low-level software layer for the all the DSP peripherals (Chip Support Library).
  • Multimedia Framework Products: These systems software modules are augmented by DSP/BIOS-compatible Multimedia Framework Products, including the xDAIS Developer’s Kit, Codec Engine, Framework Components that eliminate many of the issues associated with developing and integrating multi-function DSP applications.

Features

DSP/BIOS Kernel Overview

DSP/BIOS provides a rich set of C-callable deterministic kernel services that enable developers to create sophisticated applications without compromising real-time deadlines. DSP/BIOS is highly scalable with multithreading configurations requiring as few as 1K words.

DSP/BIOS is configurable to minimize memory footprint. Configuration can be done either statically through graphical or scripting tools or dynamically using operating system calls. In addition to excluding unused modules, static configuration further reduces target memory footprint by eliminating the code required to dynamically create and delete operating system objects such as threads and semaphores.

 

DSP/BIOS includes the following kernel modules: 
Kernel Module Description
Hardware Interrupts (HWI) Interface from hardware interrupts to DSP/BIOS kernel
Software Interrupts (SWI) Lightweight preemptible threads that use program stack but cannot yield
Tasks (TSK) Independent threads of execution that can yield the processor
Periodic Functions (PRD) Time-triggered lightweight threads
Message Queues (MSGQ) Variable-length zero copy messages
Mailboxes (MBX) Synchronized data exchange between tasks
Locks (LCK) Nestable binary semaphores
Semaphores (SEM) Counting semaphores
Queues (QUE) Atomic link lists
Clock (CLK) Interface to hardware timers
Streams (SIO) Streaming I/O
General I/O (GIO) Extensible I/O module with support for asynchronous I/O & synchronous read/write
Memory Manager (MEM) Low overhead dynamic memory allocation
Buffer Manager (BUF) Fast, deterministic fixed-size buffer allocation
Power Manager (PWRM) Power management functions
Cache Control (BCACHE) Cache configuration and management

DSP/BIOS Multithreading

To provide the fast response required by DSP applications, DSP/BIOS augments the traditional tasking model with additional threading mechanisms. Software Interrupts are lightweight pre-emptible threads that share a common stack. This results in lower memory overhead and faster context switch times, as there is no need to save and restore a task stack. Periodic Functions are time-triggered high-priority threads that can be easily set up to process samples of data arriving at fixed time intervals, simplifying the design of multirate systems.

DSP/BIOS IPC Mechanisms

DSP/BIOS offers several IPC mechanisms for interthread communication. Semaphores and Locks provide basic synchronization and resource locking. Mailboxes enable synchronous transfer of fixed sized messages between tasks. Message queues enable zero copy, variable-length message passing between any DSP/BIOS thread type. The exact memory for each message is allocated when the message needs to be sent. Message passing is transparent at the application level and can be within a single DSP or between multiple DSPs. For inter-DSP communication, a Message Queue Transport is required. Some of these (for example, Serial Rapid IO) are available pre-tested from TI.

DSP/BIOS Multicore Support

DSP/BIOS fully supports TI’s multicore DSP solutions. For devices designed to execute the same image on multiple cores, DSP/BIOS provides shared image support, maximizing the amount of local core memory available for data. In addition, a shared memory transport is provided to enable core-to-core communication using the DSP/BIOS MSGQ module. This transport utilizes the underlying hardware features such as atomic access monitors or hardware semaphores to provide the most efficient implementation.

DSP/BIOS Interrupt Management

DSP/BIOS includes a comprehensive set of services for interrupt management. The interrupt dispatcher enables developers to write ISRs in C by performing low-level operations such as context save/restore and temporary disabling of the scheduler. This approach reduces code size by eliminating the need to specifically add such code to each ISR. To reduce data memory requirements, all ISRs use a common stack rather than the stack of the task they interrupt, with the exception of the first interrupt context, which is stored on the task stack for performance reasons. The HWI and Event Combiner modules provide additional APIs for enabling/disabling interrupts and multiplexing multiple interrupt sources on to a single pin.

DSP/BIOS Power Management

For TI DSPs used in portable applications where power consumption is a key consideration, such as the TMS320C5509, DSP/BIOS offers a range of power management features. These may include automatically idling the CPU when in the IDL task, voltage and frequency scaling APIs, sleep or hibernate APIs, automated idling of peripherals when the peripheral domain is not in use, and a register/notify mechanism for coordinating complex system-wide power management.

DSP/BIOS OS-aware Analysis & Debug

In conjunction with Code Composer Studio, DSP/BIOS provides several tools to aid debugging and optimization of multithreaded applications. The Kernel Object Viewer enables a developer to check the status of OS objects such as tasks, mailboxes, and semaphores, including whether a task is ready, running, or blocked, and which tasks are blocked on an IPC. The Real-Time Analysis tools display the thread execution and switching sequence, average and maximum execution times for a thread, and system CPU load, as well as providing a very low overhead printf capability.

 

DSP/BIOS Link

Many DSP-based applications, ranging from digital cameras to communications switches, use a microprocessor (GPP) to control one or more DSPs. To meet this need, TI is increasingly delivering devices that offer an ARM and DSP core in the same package. DSP/BIOS Link is software designed to facilitate communication between the ARM and the DSP in SoC devices.

To develop applications that reside on GPP+DSP solutions, developers must implement communications software that enables data and control information to be exchanged between the GPP and the DSP. In addition, the GPP must also boot the DSP and often control which algorithms the DSP executes for a specific task. DSP/BIOS Link eliminates the need to create these functions from scratch by providing a robust set of MCU-DSP communications services including:

  • Variable-length messaging between the GPP and DSP
  • Ring buffer communication between GPP and DSP
  • Point-to-point, asynchronous data streaming between the GPP and DSP
  • Bootload the DSP from GPP
  • Pre-tested GPP-DSP communications driver support for select devices

 

DSP/BIOS Link is available for both SoC devices, such as DaVinci, where the ARM and DSP communicate using shared memory, and discrete DSPs offering a PCI interface. DSP/BIOS Link is provided as a source code porting kit and includes pre-tested ports for some versions of embedded Linux.

 

What's Included

  • DSP/BIOS is delivered as part of the Code Composer Studio Product
  • The Purchase of Code Composer Studio includes a royalty free license to use DSP/BIOS in your project

Available Updates

See DSP/BIOS Download Page (link in "Description" above) for current and previous versions.

    
Related Software
Name Part# Company Software Type
Drivers/Platform Support Package (PSP) SUPPORTPKG Texas Instruments Drivers / IO / Control Software 
Network Developers Kit (NDK) with TCP/IP Stack NDKTCPIP Texas Instruments Drivers / IO / Control Software 
Multimedia Framework Products (MFP) - Codec Engine and xDAIS Framework Components TMDMFP Texas Instruments Framework Software 
Related Tools
Name Part# Company Tool Type
Code Composer Studio IDE CCSTUDIO Texas Instruments Code Composer Studio(TM) IDE 
Related Devices
Part# Name Product Family
TMS320C541 Digital Signal Processor C5000™ Low Power DSPs 
TMS320C542 Digital Signal Processor C5000™ Low Power DSPs 
TMS320C54CST Digital Signal Processor (DSP Only) for Client-Side Telephony C5000™ Low Power DSPs 
TMS320C54V90 DSP (DSP Only) for Embedded V90 Modem Solution [Not Recommended For New Designs (NRND)] C5000™ Low Power DSPs 
TMS320C6201 Fixed-Point Digital Signal Processor C6000™ Performance Value DSPs 
TMS320C6202 Fixed-Point Digital Signal Processor C6000™ Performance Value DSPs 
TMS320C6202B Fixed-Point Digital Signal Processor C6000™ Performance Value DSPs 
TMS320C6203B Fixed-Point Digital Signal Processor C6000™ Performance Value DSPs 
TMS320C6204 Fixed-Point Digital Signal Processor C6000™ Performance Value DSPs 
TMS320C6205 Fixed-Point Digital Signal Processor C6000™ Performance Value DSPs 
TMS320C6211B Fixed-Point Digital Signal Processor C6000™ Performance Value DSPs 
TMS320C6411 Fixed-Point Digital Signal Processor C6000™ Performance Value DSPs 
TMS320C6412 Fixed-Point Digital Signal Processor C6000™ Performance Value DSPs 
TMS320C6414 Fixed-Point Digital Signal Processor C6000™ High Performance DSPs 
TMS320C6414T Fixed-Point Digital Signal Processor C6000™ High Performance DSPs 
TMS320C6415 Fixed-Point Digital Signal Processor C6000™ High Performance DSPs 
TMS320C6415T Fixed-Point Digital Signal Processor C6000™ High Performance DSPs 
TMS320C6416 Fixed-Point Digital Signal Processor C6000™ High Performance DSPs 
TMS320C6416T Fixed-Point Digital Signal Processor C6000™ High Performance DSPs 
TMS320C6701 Floating-Point Digital Signal Processor C6000™ Floating-point DSPs 
TMS320C6712 Floating-Point Digital Signal Processor C6000™ Floating-point DSPs 
TMS320C6713 Floating-Point Digital Signal Processor C6000™ Floating-point DSPs 
TMS320DM640 Video/Imaging Fixed-Point Digital Signal Processor DaVinci™ Digital Media Processors 
TMS320DM641 Video/Imaging Fixed-Point Digital Signal Processor DaVinci™ Digital Media Processors 
TMS320DM642 Video/Imaging Fixed-Point Digital Signal Processor DaVinci™ Digital Media Processors 
TMS320F240 16-bit, 5V fixed point DSP w/ Flash C2000™ 32-bit Real-time MCUs 
TMS320F241 16-bit , 5V fixed point DSP w/ Flash C2000™ 32-bit Real-time MCUs 
TMS320F243 16-bit, 5V fixed point DSP w/ Flash C2000™ 32-bit Real-time MCUs 
TMS320F2810 32-Bit Digital Signal Controller with Flash C2000™ 32-bit Real-time MCUs 
TMS320F2811 32-Bit Digital Signal Controller with Flash C2000™ 32-bit Real-time MCUs 
TMS320F2812 32-Bit Digital Signal Controller with Flash C2000™ 32-bit Real-time MCUs 
TMS320LC541 Digital Signal Processor C5000™ Low Power DSPs 
TMS320LC541B Digital Signal Processor C5000™ Low Power DSPs 
TMS320LC542 Digital Signal Processor C5000™ Low Power DSPs 
TMS320LC543 Digital Signal Processor C5000™ Low Power DSPs 
TMS320LC545A Digital Signal Processor C5000™ Low Power DSPs 
TMS320LC546A Digital Signal Processor C5000™ Low Power DSPs 
TMS320LC549 Digital Signal Processor C5000™ Low Power DSPs 
TMS320UC5402 Digital Signal Processor C5000™ Low Power DSPs 
TMS320UC5405 Fixed-Point Digital Signal Processor C5000™ Low Power DSPs 
TMS320UC5409 Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5401 Fixed-Point Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5402 Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5402A Fixed-Point Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5404 Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5407 Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5409 Fixed-Point Digital Signal Processor (DSP) C5000™ Low Power DSPs 
TMS320VC5409A Fixed-Point DSP C5000™ Low Power DSPs 
TMS320VC5410 Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5410A Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5416 Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5420 Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5421 Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5441 Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5470 System-Level Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5471 System-Level Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC549 Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5501 Fixed-Point Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5502 Fixed-Point Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5509 Fixed-Point Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5509A Fixed-Point Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5510 Fixed-Point Digital Signal Processor C5000™ Low Power DSPs 
TMS320VC5510A Fixed-Point Digital Signal Processors C5000™ Low Power DSPs 

Support and Community

Customer Tags Help

Most Popular Tags for DSPBIOS:

View All Tags

Other Support