Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > Embedded

Tweaks to OS could change embedded design

Posted: 03 Jan 2005 ?? ?Print Version ?Bookmark and Share

Keywords:analog devices? adi? embedded operating system? quadros systems? embedded computing board?

Working independently but along similar lines, DSP chip maker Analog Devices Inc. and embedded operating system vendor Quadros Systems Inc. have come up with complementary innovations that could eliminate one large device from many embedded computing boards and could eventually alter system-on-chip designs as well.

ADI has ported RTXC Quadros to its Blackfin processor. The dual-mode operating system offers a single set of application programming interfaces for DSP and RISC apps and, more important, a single task-management environment for both interrupt-driven control code and stream-oriented DSP code.

The untailored version of the OS requires between 27KB and 30KB of memory. That can be trimmed into a footprint in the high teens in actual applications, the companies said.

At the moment, the entire system is designed for static, design-time task assignment. The system will run on multicore Blackfin chips, but only on an assignment basis. Quadros and a partner are looking into dynamic task allocation as a possible future feature.

Starting with hardware, the tale begins with ADI's Blackfin DSP architecture. "Blackfin was created from a clean sheet of paper with a key goal: to provide an architecture in which developers could blend their signal-processing code and control code onto a single processor," said Wayne Meyer, product marketing manager at ADI.

To that end, Blackfin includes a blend of long signal-processing and shorter, RISC-like instructions and has control structures that permit DSP operation to continue in a reasonable manner in the presence of the interrupts, context switches and other annoyances common to control code. The device even uses a combination of scratchpad memory for signal processing and cached conventional memory for RISC-like operations. So Blackfin offers a platform in which C-coded control code and optimized DSP loops can coexist.

As it happened, at the same time that ADI was working on Blackfin, the precursor company to Quadros recognized the need for a platform that would permit control and signal-processing codes to be merged onto one piece of hardware. The result was the RTXC Quadros. It was natural that once the two companies found out about each other, Quadros would be ported to Blackfin.

The new OS has explicit provisions for keeping control and DSP code running and meeting their deadlines. The key to this rather remarkable juggling act is that the OS has two context structures: multistack for the control code and single-stack for signal-processing code.

In multistack mode, tasks and contexts are dealt with in much the same way as in any other advanced real-time OS. In the single-stack mode, however, things are different. Instead of tasks, there are lightweight, context-free threads. All threads normally run to completion, so multitasking in this mode is generally done by a cooperative model. It is possible, however, to pre-empt a thread, pushing its working set onto the single stack.

This is vital when the two modes are combined into a single OS. The combination is accomplished by creating three so-called "zones"roughly, three priority levels. In the top zone are the hardware-driven service routines with hard latency requirements. They have the highest priority in the system. In the second zone are the two modes: the multistack controller and the single-stack controller with its threads. In a third zone, with the least priority, are the application tasks controlled by the multistack module and OS-related tasks such as startup code.

As it turns out, the technology was only the first hurdle for Quadros and ADI. The next one is cultural. DSP code and control code are often written by different parts of a design team, using very different tools. So the whole idea of locating both code sets on a single processor may raise hackles before anyone even gets into the details of how this might be possible.

Also, candidates for this approach come from three very different backgrounds, said Stephen Martin, Quadros' director of marketing. Design teams that have used only RISC processors may face a steep learning curve to even understand why DSP threads need to be treated differently from ordinary C++ tasks. Conversely, teams coming from a pure DSP background are equally problematic. "There are still a lot of proprietary, in-house kernels in the DSP world," Martin said. "And a number of designs still don't have anything that you could identify as a kernel at all. This will all be unfamiliar to them."

Perhaps the easiest sell may be in the third category: design teams that are currently using a powerful DSP chip and a RISC CPU side-by-side on a board. These groups might welcome a solution with just one set of APIs, one debug environment and one set of modeling tools.

Release of the Blackfin version of the OS is scheduled for late this year or early next.

- Ron Wilson

EE Times

Article Comments - Tweaks to OS could change embedded d...
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top