Comp.DSP FAQ: Part 5

Q5: What DSP operating systems are available?

[Researched and written by Chuck Corley chuckc@sr.hp.com. Last updated 11/22/96]

 

Some designers need to use an operating system with a DSP processor and others don't. The need for DSP operating system seems to depend on the task(s) to be performed.

For simple DSP tasks where a single function or a few simple functions are being performed, an operating system is usually not needed and could get in the way.

When the number and complexity of DSP tasks increase, an operating system of some type may be needed in order to allocate system resources (RAM, etc.) and to perform multi-tasking, where several tasks take turns executing.

Some people have chosen to write their own DSP 'task-switching' or 'job allocating' operating system. Whether this is the right choice for you depends on how involved your operating system needs to be, and how much time you have available to spend writing it.

Many companies offer pre-written operating systems that execute on DSP processors. In exchange for your money they offer to save you the time and effort of writing and debugging your own 'operating system' or 'task switcher'.

These companies describe their products as 'real-time' operating systems. What 'real-time' means can be debated, but it normally means that the maximum time for the operating system to respond to an external event is known. The calculation for measuring this time involves adding together interrupt response time, task switching time, and other processor and operating system benchmarks. 'Real-time' also usually means 'fast'. Embedded CPU or DSP tasks often require a 'real-time' response time.

Prices and features vary. Most companies charge for purchasing their 'development environment', which allows you to develop code which will run on their operating system. Some companies also charge a fee for each product you build that includes their operating system software. This is usually called a 'target fee' or 'runtime license' fee. Some operating systems have no 'runtime license' fees.

It is *very* important to negotiate what the runtime license fee will be *in advance*. This is not nearly as big a problem as it used to be, but be careful! If this runtime license fee is not agreed upon in writing when the development system is purchased, you could be in a bad position later. You will have invested a lot of time and effort writing software to work with a particular operating system, and when your creation is produced you could discover that the 'runtime license fee' has increased or is more than you can afford. Considering the amount of work you would have invested in that operating system, you would be in a very poor bargaining position.

You will also need to decide if having the source code for the operating system is important to you. Some companies include it for free, while others may charge extra.

Features for the DSP operating systems are listed below. Some vendors claim that a 'No' listing for a feature doesn't necessarily mean that their operating system is missing something you need. Many companies state that particular features were not appropriate for either a 'DSP' or a 'real-time' operating system, and so they did not implement them. Other companies stated that some features were not appropriate for their targeted users.

One suggestion for comparing features: Make a list of the features you *really* need and compare it against the list below.

Disclaimer: Any opinions I've expressed are mine, and not my employer's. I've tried to make this information current, accurate, and impartial, but I can't guarantee this. This document is provided "as is", with no warranty of any kind. You should contact the vendors listed below for the best and most up-to-date information. Corrections and suggestions for this section on DSP operating systems should be addressed to chuckc@sr.hp.com.

 

Key To Abbreviations
Abbreviation Explanation
Yes Included with operating system
No NOT available with operating system
Soon Not yet available
? Don't know if this is available
Opt Extra-cost option, cost not available
Number Cost of a feature or size of a feature. Costs are in dollars $$. Code sizes are in bytes. Numbers may have been rounded to only 2 or 3 significant digits. A range (example: 2-5K) means the size or cost varies, depending on options chosen or which code libraries are used.
Disk Program is supplied on floppy disk
FTP Program is supplied by FTPing it over the network

 

Operating System Features (1/2)
Op System
Feature
Byte-
BOS
Nucleus RXTC SPOX Helios Parallel
C
VCOS Virtuoso
Nan/Clas*
Preemt.
Task Sched.
Yes Yes Yes Yes Yes Yes No No Yes
Time-Sliced
Schedule
Yes Yes Yes Yes Yes Yes Yes No Yes
Round-Robin
Schedule
? Yes Yes Yes Yes Yes Yes Yes Yes
Parallel
Processing
No No No Opt Yes Yes Yes Yes? Yes
Inter-Task
Messages
Yes Yes Yes Yes Yes Yes Yes Yes Yes
Memory
Management
Yes Yes Yes Yes Yes Yes Yes No Yes
Interrupt
Management
Yes No Yes Yes Yes Yes Yes Yes Yes
Timer
Management
Yes Yes Yes Yes Yes Yes Yes Yes Yes
OS Size
(Bytes)
5-40K 4-20K 12-16K 6K+ 80K+ 11K+ 2K .8K 40K

 

Operating System Features (2/2)
Operating System Feature Precise MQX(+M) DspTask
Preemptive Task Sched. Yes Yes
Time-Sliced Scheduling Yes No
Round-Robin Scheduling Yes No
Parallel Processing Yes No
Inter-Task Messages Yes Yes
Memory Management Yes No
Interrupt Management Yes Yes
Timer Management Yes Yes
OS Size (Bytes) 23K+ 5-20K

 

Features and Cost (1/2)
Features
and Costs
Byte-
BOS
Nucleus RXTC SPOX Helios Parallel
C
VCOS Virtuoso
Nan/Clas*
Includes C Compiler No No No No Yes Yes No No No
Includes Assembler No No No No Yes Yes Yes No No
Source Code Included Yes Yes Yes No No No No Opt Opt
Source Code Type C C Asm&C Asm&C Asm&C Asm&C Asm Asm Asm&C
Run-Time License $$ 0 0 0 25-200 25-300 50-300 TBD <32 <112
Develop License $$ 2K 5K 1-4.2K 6-12K 1-5.4K 1.5-7.6K 0 3.2K 11K
Develop License Type Site Product Site Node Node Node N/A Site Site
Demo Disk Available ? Yes Yes No No No No No Yes

 

Features and Cost (2/2)
Operating System Feature Precise MQX(+M) DspTask
Includes C Compiler No No
Includes Assembler No No
Source Code Included Yes Yes
Source Code Type C & Asm C
Run-Time License $$ $0 $0
Develop License $$ $6K $120
Develop License Type Product Company
Demo Pgm Available Disk & FTP FTP

 

Libraries (1/2)
Available
Libraries
Byte-
BOS
Nucleus RXTC SPOX Helios Parallel
C
VCOS Virtuoso
Nan/Clas*
C Run-Time Library No No No 2K Yes Yes No Yes Yes
DSP Math Library(s) No 1K No 4K 0-2K 1-2K 100 1.8K 1.8K
Image Processing Lib No No No No No 2K No 5K 5K
JPEG Library No No No No No No Opt No No
X Windows Library $ No No No No 930 No No No No
PC Windows Library $ No No No Opt 730 No No No 3K
Ethernet Lib Cost $ No 9.5K No No 1-1.3K No No No No

 

Libraries (2/2)
Available Libraries Precise MQX(+M) DspTask
C Run-Time Library No No
DSP Math Library(s) No No
Image Processing Lib No No
JPEG Library No No
X Windows Library $ No No
PC Windows Library $ No No
Ethernet Lib Cost $ $10K No

 

Debugging (1/2)
OS System
Level Debugger
Byte-
BOS
Nucleus RXTC SPOX Helios Parallel
C
VCOS Virtuoso
Nan/Clas*
Basic Debugging Yes Yes Yes Yes Yes Yes Yes No Yes
Performance Timer Yes Yes No Yes Yes No Yes No Yes
Debugger Cost $295 $750 $0 $3.8K $900 $950 TBD N/A $0

 

Debugging (2/2)
OS System Level Debugger Precise MQX(+M) DspTask
Basic Debugging Yes Soon
Performance Timer Yes No
Debugger Cost $2K $0

* Note that only Virtuoso "Nano" and "Classico" products are shown in the comparison charts. There is also an intermediate "Micro" product.