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.