.NET Micro Framework

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
QS-Informatik

Dieser Artikel wurde wegen inhaltlicher Mängel auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen, und beteilige dich an der Diskussion! (+)
Begründung: Seit 2010 keine substanzielle Erweiterung des Artikels. Z.B. fehlt die Übergabe des Codes an die Community gänzlich.

.NET Micro Framework
Entwickler Microsoft
Aktuelle Version 4.1
(17. Juli 2010)
Kategorie Plattform
Lizenz Apache-Lizenz 2.0
Deutschsprachig nein
http://www.microsoft.com/netmf/

Das Microsoft .NET Micro Framework ist ein Abkömmling des .NET Frameworks zur Programmierung von Embedded-Systemen mit geringen Ressourcen wie Getränkeautomaten oder Bordsystemen in Automobilen.

Überblick[Bearbeiten]

So wird beispielsweise die MSN Watch mit dem .NET Micro Framework betrieben. Ein weiterer Einsatzbereich sind Sideshow Gadgets, die von Windows Vista unterstützt werden. Die Firma Digi International hat im April 2007 mit ihrem Kommunikationsmodul Digi Connect ME die erste Ethernet-Netzwerklösung vorgestellt.

Das Entwicklungskonzept basiert auf dem .NET Framework. Als Programmiersprache kommt jedoch nur C# zur Verwendung.

Technische Einzelheiten[Bearbeiten]

Die Entwicklung mit dem Micro Framework ist grundlegend anders als die Entwicklung für Windows CE mit dem .NET Compact Framework. Das Micro Framework kann entweder auf einem vorhandenen Betriebssystem aufsetzen oder selbst als Betriebssystem direkt auf der Hardware arbeiten. Ein entsprechender Hardware Abstraction Layer ist im Micro Framework integriert.

Das Micro Framework ist kein Echtzeitsystem. Der Code wird nicht wie bei den anderen .NET Frameworks üblich mit Hilfe des Just-In-Time Compilers zur Laufzeit kompiliert, sondern interpretiert. Die damit einhergehenden Geschwindigkeitseinbußen können jedoch kompensiert werden, indem die performancekritischen Codesegmente als nativer Code implementiert und über Interop aufgerufen werden.

Hardware Abstraction Layer[Bearbeiten]

Der HAL kann mit Hilfe von Delegaten und Ereignissen mit der Common Language Runtime (CLR) kommunizieren. Somit ist es möglich, das Gerät in einen Schlafzustand zu versetzen, jedoch immer noch in der Lage zu sein, auf bestimmte Ereignisse zu reagieren.

Treiber im HAL[Bearbeiten]

Folgende Treiber sind im HAL bereits integriert:

  • Gepufferter serieller RS232 I/O
  • Serial Peripheral Interface (SPI) mit 13,8 MHz
  • Monochrom LCD (120x96)
  • Batterieüberwachung (Temperatur, Spannung und Ladezustand)
  • Bluetooth
  • 802.15.4 low-rate Wireless Personal Area Networking (WPAN)
  • Flash (parallel) und EEPROM (seriell) Speicher
  • Kalibrierte Zeit
  • Boolesche Ausgaben (Hintergrundbeleuchtung, Vibration, etc.)
  • Boolesche Eingänge (Schaltflächen etc.)
  • PWM-Ausgänge (Piezolautsprecher, Dimmer, Vibration)

Mit dem Micro Framework ist es weiterhin möglich, Treiber in Managed Code zu schreiben.

Multithreading[Bearbeiten]

Das Micro Framework stellt Multithreading bereit, selbst wenn die zu Grunde liegende Hardware dies nicht unterstützt. Genau betrachtet handelt es sich bei der Execution Engine nicht um eine multithread-fähige Engine. Vielmehr kann diese als Simulator einer solchen betrachtet werden. Der Kontextwechsel erfolgt in 20-ms-Abständen, Threads sind priorisierbar und unterstützen Unterbrechungen.

Garbage Collection[Bearbeiten]

Auch der Garbage Collector hat einige Änderungen erfahren. Auf Grund des meistens sehr kleinen Arbeitsspeichers auf den Zielsystemen wurde auf einen hierarchischen Garbage Collector verzichtet. Stattdessen wird ein Mark-And-Sweep-Algorithmus benutzt. Dieser wird zusätzlich durch Ablage von Metadaten auf dem Heap optimiert.

Um die Nutzung des Arbeitsspeichers weiter zu verbessern, wurde der Garbage Collector dahingehend erweitert, dass er Daten in nicht flüchtigen Speicher auslagern kann, wenn die zugehörige Anwendung inaktiv ist.

Klassenbibliothek[Bearbeiten]

Das Micro Framework stellt eine Untermenge des .NET Frameworks dar. Bei der Auswahl der Namensräume wurde darauf geachtet, lediglich die Teile in das Micro Framework zu integrieren, die für den Betrieb kleiner, autonomer Geräte nötig sind.

Neben den Namensräumen des .NET Frameworks wurde der Namensraum SPOT hinzugefügt, der lediglich im Micro Framework zur Verwendung kommt. SPOT bedeutet Smart Personal Objects Technology[1] und ist die Microsoft-Terminologie für elektronische Geräte wie Uhren, Wecker, Schlüsselanhänger etc., die deren Besitzer Informationen zugänglich machen.

Die vollständig oder teilweise geerbten Namensräume der .NET Base Class Libraries:

  • System
  • System.Collections
  • System.Diagnostics
  • System.Globalization
  • System.IO
  • System.Net
  • System.Net.Sockets
  • System.Reflection
  • System.Resources
  • System.Runtime.CompilerServices
  • System.Runtime.InteropServices
  • System.Runtime.Remoting
  • System.Runtime.Text

Die neu hinzugefügten Namensräume für intelligente persönliche Objekte:

  • Microsoft.SPOT
  • Microsoft.SPOT.Cryptography
  • Microsoft.SPOT.Hardware
  • Microsoft.SPOT.Input
  • Microsoft.SPOT.Net.NetworkInformation
  • Microsoft.SPOT.Presentation
  • Microsoft.SPOT.Presentation.Controls
  • Microsoft.SPOT.Presentation.Media
  • Microsoft.SPOT.Presentation.Shapes

Änderungen in Version 2.5[Bearbeiten]

Das .NET Micro Framework 2.5 wurde mit einem TCP/IP-Stack erweitert. Darauf aufbauend wurde ein Devices Profile for Web Services (DPWS)-Stack in das Micro Framework integriert. Dieser DPWS-Stack wurde eigens für das Micro Framework in Managed Code entwickelt und trägt den Namen MFDPWS. Er stellt eine Untermenge des DPWS-Standards dar. Durch den DPWS-Stack ist es nun möglich, Web-Services for Devices (WSD) zu nutzen. Dabei kommunizieren die Netzwerkteilnehmer über SOAP und können Dienste des jeweils anderen Teilnehmers nutzen.

Technische Voraussetzungen[Bearbeiten]

Aktuell unterstützt das Micro Framework ARM7 und ARM9 Prozessoren sowie Analog Devices Blackfin. Das Zielsystem muss über mindestens ~128 KB RAM und 512 KB Flash/ROM zur Entwicklung verfügen. Im laufenden Betrieb hat das Micro Framework mindestens eine Größe von 390 KB. Die Größe ist abhängig von der Menge der verwendeten Funktionen.

Für die Installation und das Debugging benötigt das Gerät eine serielle, USB- oder Netzwerkschnittstelle.

Entwicklungsumgebung[Bearbeiten]

Als Entwicklungsumgebung kommt Microsofts Visual Studio 2008 oder höher in Verbindung mit dem .NET Micro Framework SDK zum Einsatz. Außerdem benötigt man das Board Support Package für das jeweilige Gerät.

Siehe auch[Bearbeiten]

Literatur[Bearbeiten]

  • Jens Kuhner: Expert .NET Micro Framework. 2. Auflage 2009, Apress Verlag

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Microsoft PressPass: Microsoft Launches Smart Personal Object Technology Initiative