circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

April 1999, Issue 105

Win32 and Real Time


by Peter Petersen and Tom Schotland
Start A Solution? Best of Both Worlds Two Approaches A Win32 Compatible RTOS Development Process Scalability Software & Sources

TWO APPROACHES

There are two approaches to implementing a Win32-compatible RTOS. A Win32 API layer may be added as an extension to a preexisting traditional RTOS, or an RTOS may be designed from the ground up with implementation of a Win32 subset as a core design goal.

An example of the first approach is the Willows RT toolkit from Willows Software (also known as APIAccess from Award Software). The Win32 layer is supplied as a library that can be linked with an application built under one of several standard non-Win32 RTOSs, giving the application source-level compatibility with a Win32 subset.

However, binary compatibility is limited, since it is supplied through the use of virtual machine and other slow emulation techniques that simulate the native Win32 run-time environment for binary code. And, mainstream Win32 development tools can’t be used with a non-Win32 RTOS.

The second approach does not suffer from the same problems. Both source and binary compatibility with desktop Win32 are possible without performance penalties. Standard Win32 development tools can be used. Because there are no extra implementation layers, applications have maximum performance and minimum size.

Commercial RTOSs using this approach include Phar Lap’s Embedded Tool Suite and On Time’s Win32/NT-compatible RTOS. Windows CE satisfies some of the requirements, but its nondeterministic performance, high interrupt latency, and large memory requirements (often above 2 MB) make it unsuitable for hard real-time use and small embedded systems.

Special versions of Microsoft development tools are required to create Windows CE applications, so standard desktop Win32 tools can’t be used. Finally, to boot Windows CE on standard embedded-PC hardware, MS-DOS must be present.