SOFTWARE & DEVELOPMENT TOOLS
Embedded Windows
Bringing Real-Time Development to Familiar and Powerful Windows Tools
Developing applications for Windows XP Embedded should take advantage of the excellent IDE provided by Visual Studio. Adding the right support for real-time requires leveraging the architecture and facilities provided by Visual Studio to provide a unified, streamlined development process with accurate debugging.
PAUL FISHER, TENASYS
Efficiency in design is the embedded developer’s Hydra, the multi-headed monster of Greek mythology. Real-time system developers are continuously confronted by the constraints of tight schedules and limited resources. In a competitive market, developers are often asked to “crank some code, fast,” but, simultaneously, they must ensure that what they deliver is bug-free and performs the maximum function using the, all too frequently, convoluted resources of a software-agnostic hardware design.
It took Herculean efforts to slay Hydra. Embedded real-time developers are unwittingly taking on the role of a hero when they must use outdated or incomplete tools to tackle a multitude of conflicting goals. Like the many-headed monster, the real-time embedded Hydra is “a persistent or multifaceted problem that cannot be eradicated by a single effort,” American Heritage Dictionary.
How does one maintain hero status without having to slay a multi-headed dragon at each sitting? This is accomplished with the use of prior knowledge and existing tools that have been successfully applied to previous projects, and by keeping it simple.
Many of today’s embedded applications require the stability and reliability of a deterministic hard real-time operating system (RTOS). Simultaneously, these embedded applications serve markets that benefit from the flexibility and extensibility of a general-purpose operating system, like Microsoft Windows XP.
There is no software platform more popular than Microsoft Windows, claiming the undisputed lion’s share of all PC installations. Windows provides access to third-party applications from specialized communication protocols to database applications and mathematical analysis tools, all of which can easily transform a dedicated data acquisition and control system into a sophisticated analysis and enterprise system resource.
Minimizing time spent developing software maximizes the efficiency of the task. A real-time system based on Microsoft Windows is able to leverage those things that Windows does best. It also makes sense that the real-time development environment for such a system should leverage existing and familiar tools.
For those applications that will run on the Windows platform, the development tool of choice is Microsoft Visual Studio .NET (VS.NET), a multi-language development environment that can be used to build and maintain a broad range of applications. The VS.NET platform is the platform of choice in a variety of markets, as the development environment for Windows applications.
Optimized Solutions
Balancing the flexibility of Windows with the deterministic requirements of embedded applications often results in two distinct computing elements built into one system. This includes one piece of hardware to run Windows for the GUI, third-party applications and enterprise-related functions, and a second hardware element to host a dedicated RTOS that controls the time-critical elements of the machine.
The drawbacks to a dual platform solution are numerous. A second control computer adds substantial cost of goods and manufacturing complexity. The additional design costs, in terms of time and effort spent on engineering tools and staff, is generally sufficient justification to seek a simpler and more cost-effective solution. For this reason, real-time Windows solutions that allow two environments to share one CPU are becoming increasingly popular.
For that same reason, a single development environment that can be used to create and debug code for both parts of the solution, the deterministic real-time part and the enterprise-level Windows part, is the optimal solution.
Using Visual Studio as a real-time development tool maximizes the use of existing developer knowledge and skills and unites the two halves of a Windows real-time solution under a single IDE.
Prior to the release of VS.NET, the idea of using the Visual Studio IDE for creating and debugging anything other than a Microsoft Windows application was impractical. However, VS.NET provides hooks for third-party plug-ins, supporting extensions to this popular IDE. By utilizing Visual Studio Industry Partner (VSIP) hooks, third-party development tool providers can enhance the VS.NET IDE to include features for specific tasks beyond standard Windows applications, such as the creation of real-time embedded Windows applications.
Familiar Development Environment
The strength of the Visual Studio IDE is its level of usage and extensibility. There are over 2.5 million VS.NET developers and 225 OEMs building over 650 add-on tools for Visual Studio.

Kontron
Interphase