Microsoft's continuum of operating systems, managed code runtimes, and framework libraries for embedded applications now runs from Microsoft Windows XP Embedded (Windows XPe), potentially with the .NET Framework; to Microsoft Windows CE, potentially with the .NET Compact Framework; to the bootable runtime of the .NET Micro Framework, as illustrated in Figure 1-1.
Figure 1-1: Microsoft embedded product offerings.
Whereas Windows XPe and Windows CE have very broad and deep support for operating system extensions, the .NET Micro Framework is focused on being as small and as power-efficient as possible while providing the full benefits of a managed code environment. This means that a number of differences between the two types of operating environments exist, largely in their extensibility. Windows CE supports a broad range of configurations through its Platform Builder-from about 600 KB through 64 MB. Configurations that support managed code require at least 12 MB of RAM.
The .NET Micro Framework supports a subset of the .NET Framework and runs with or without an underlying operating system, so the footprint can be smaller. Current configurations of the .NET Micro Framework require about 300 KB of RAM. In addition, no memory management unit (MMU) is required, so the . NET Micro Framework can run on less expensive processors.
To review, the strengths of the platform are as follows:
Lower hardware cost than other high-end platforms
Much smaller memory footprint
Less expensive processors (no MMU)
Lower development costs than other embedded platforms
Faster time to market
Broader developer pool familiar with Visual C# and .NET development
Better toolset through Visual Studio
Full support for on-device debugging in Visual Studio
Code reuse with other parts of the solution
Initial development on the PC using extensible emulation tools
Lower power consumption than high-end platforms, improving the battery life of small devices
The .NET Micro Framework is a first step by Microsoft to bring managed code to this segment of the embedded solution domain. As investment and research continue in this area, software engineers will find ways to scale offerings down to smaller form factors, enabling the use of higher-level languages and world-class tools that span the full range of software development.
We (the authors) are expressing our viewpoints about this system and its goals based on our experience and current knowledge, which may not necessarily reflect the official views of Microsoft in terms of how they choose to emphasize one aspect of the operating environment over another. What we've said here reflects what we've understood to be the case at the time of writing and, of course, the product team reserves the right to alter its goals and views in order to meet its growing business needs moving forward.