The Microsoft .NET Micro Framework is a bootable runtime module for embedded devices which are highly resource-constrained and unable to run even embedded OSes. The coolest thing about it - it does not require an underlying operating system!
With a footprint of just 300 KB, .NET Micro provides a fully managed execution environment with memory management, a substantial subset of the .NET Base Class Library, GUI classes based on WPF, persistent storage, and support for serial communication and networking, as well as tight Visual Studio integration and emulation support.
.NET Micro provides OS-level services including environment initialization, interrupt handling, threading and process management, heap management, and other support functions necessary to run applications. This allows .NET Micro to run directly on hardware without an underlying operating system, although an operating system may still be used if desired.
Code that is specific to a particular hardware platform is factored into a hardware abstraction layer (HAL) so that .NET Micro and applications built on top of it can be ported to new platforms with ease. The HAL is typically 20-30 KB. The layer above the HAL is the Platform Abstraction Layer (PAL), which exposes abstractions such as timers, memory blocks, asynchronous communication, and lists and other data structures to the .NET Micro Framework CLR, serving to further abstract the functionality exposed by the HAL.
The CLR is a small, highly optimized managed-code runtime that provides the main benefits of managed code: safety, security, resource protection, validation, recovery, and isolation. It supports C# programming language and includes a class library tailored to the needs of embedded applications. The library incorporates a substantial subset of the .NET BCL, as well as WPF based UI, communication and networking classes, and more.
And the main selling point? Productivity boost for embedded application developers through it's tight integration with Visual Studio and extensive emulation support!
Saturday, June 30, 2007
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment