CMP EMBEDDED.COM

Login | Register     Welcome Guest  
HOME DESIGN PRODUCTS COLUMNS E-LEARNING CONFERENCES CODE FORUMS/BLOGS NEWSLETTERS CONTACT FEATURES RSS RSS

Implementing dual OS signal processing using Linux and the DSP/BIOS RTOS



Embedded.com

The Best of Both Worlds
Although many multimedia applications spend the majority of their processor cycles on signal processing, there are many higher-level functions that a consumer-ready product must implement. User interface and display functions, networking and file manipulation are just a few.

Because these features are not time critical, the fine-level control of DSP/BIOS is not required. Here, the resource abstraction provided by the Linux driver model is preferred for the benefits of greater flexibility and reduced development time, not to mention the wealth of open-source application code available in the Linux community.

A solution in which the Linux and DSP BIOS operating systems run concurrently on the same device involves the use of a virtualizer  to provide the system developer or integrator with advantages of both systems (Figure 2 below).

Figure 2. Linux and DSP/BIOS running concurrently on a DM643x DSP Device

The virtualizer acts as a fast and predictable switch to share DSP resources between Linux and DSP/BIOS operating systems. It guarantees the best possible performance for DSP/BIOS threads by making a speculative switch to the context of the DSP/BIOS operating system whenever an interrupt is received.

If the newly arrived interrupt corresponds to an event recognized within the DSP/BIOS context, it will be handled within the DSP/BIOS context, which is already loaded and ready to run.

While the virtualizer is DSP/BIOS enabled, the application is given direct access to needed system resources without affecting the user and kernel spaces maintained within the (suspended) Linux environment.

Once the application has completed its high performance signal processing calculations within the DSP/BIOS environment, the virtualizer forces a transition back to the Linux environment, which provides access to the higher-level features available there.

The virtualizer-mediated sub-10 microsecond switch time between operating systems allows programmers to meet real-time performance requirements with little penalty compared to a native DSP/BIOS-only system. This solution incurs a penalty of only about 1.5 percent processing overhead for a typical multimedia device.

Additional Advantages to the Dual-OS System
Perhaps the simplest advantage to extending a Linux-based product to include the DSP/BIOS operating system is the ability to use algorithms from the hundreds of associated third parties with no porting effort. Compliance to the xDAIS standard guarantees seamless integration of these third party algorithms into a DSP/BIOS environment.

Another advantage of extending a Linux-based system to include DSP/BIOS is that applications executing in the DSP/BIOS environment are free from the constraints of the GNU General Public License (GPL) of the Linux kernel.

When implementing a Linux-based solution, it is not always obvious exactly what the licensing requirements of unique, developer produced software intellectual property are. By executing IP within the context of the DSP/BIOS OS instead of the Linux OS, it is possible to avoid this legal concern.

Conclusion
Using the technique described in this article, Linux and DSP BIOS may be run concurrently on a single DSP core. This provides all the functionality of a Linux solution while providing the precision and hardware control available under DSP/BIOS.

Programmers may take advantage of application code written for Linux and signal processing code written for DSP/BIOS without the effort of having to port one into the other environment.

For a designer who requires the features of Linux in a real-time, embedded application, upgrading to include the DSP BIOS toolset through the use of a virtualizer adds significantly improved signal-processing performance at a small cost in terms of system resources.

Dave Beal is director of product management for VirtualLogix, Inc., Steve Preissig is an instructor in Texas Instruments' Technical Training Organization, and Aurelien Jacquiot is Project Manager at VirtualLogix, France.

1 | 2 | 3

Rate this article: Low High
Current rating
  • .
Embedded.com Career Center
Looking for a new job?
SEARCH JOBS

Browse all jobs

SPONSOR
RECENT JOB POSTINGS





 :