© best_vector/Shutterstock.com
Embedded-Plattform mit C#

Hard C#


Welcher Softwareentwickler träumt nicht davon, seine Kenntnisse im Alltag nutzen zu können, indem er beispielsweise einen Roboter als kleines Helferlein programmiert oder seine Heizung optimiert. Nur leider sind die Einstiegshürden allzu oft sehr hoch und die Realisierung teuer. Im Folgenden betrachten wir einen Ansatz, der eine geringe Lernkurve für .NET-Entwickler hat, und nicht teuer sein muss.

Internet of Things ist ein Begriff, der immer mehr in den Fokus rückt. Hier geht es darum, Geräte und ihre Daten über das Netzwerk oder Internet zugänglich zu machen. Smart Home ist ein Anwendungsfall von vielen, der es ermöglicht, das eigene Haus über Internet, PC, Tablet oder Handy fernzusteuern. Microsoft hat diesen Markt vor Jahren entdeckt und mit dem .NET Micro Framework [1] eine gute Grundlage geschaffen. Damit auch Hobby- und Softwareentwickler nicht zu tief in die Elektrotechnik einsteigen müssen, wurde von Microsoft die Gadgeteer-Plattform ins Leben gerufen. Diese Plattform basiert auf dem .NET Micro Framework und ist als Stecksystem realisiert. Hardware und Software lassen sich wie Spielbausteine zusammenfügen (Abb. 1).

feneberg_embed_1.tif_fmt1.jpgAbb. 1: Gadgeteer-Designer

Das .NET Micro Framework wurde für Embedded-Plattformen entwickelt und läuft direkt auf der Hardware der ARM-7- bzw. ARM-9-Prozessorengeneration. Die Architektur des Micro Frameworks ist in zwei Ebenen unterteilt: In der unteren Schicht hat das Micro Framework einen Hardware-Abstraction-Layer (HAL) integriert, um mit der Hardware zu kommunizieren. In der HAL sind bereits Treiber für die gängigste Hardware vorhanden:

  • Bluethooth

  • UART

  • Serielle Kommunikation

  • Netzwerk (TCP-/IP-Stack)

  • SPI (Serial Peripheral Interface ), I²C Bus

  • DPWS (Device Profile for Web Services) zur Kommunikation mit einem Web Service

  • FAT-/FAT32-Unterstützung

  • Grafik- und Touch-Unterstützung (LCD, WPF)

  • Weitere (siehe SDK Data Sheet [2])

Die Hardwarehersteller passen diese Treiber an die eigene Hardware an und erweitern die Liste mit ihren Produkten. Der Entwickler kann auch eigene Treiber mit Managed Code hinzufügen.

In der oberen Schicht, der CLR (Common Language Runtime), wird der C#-Code interpretiert. Die CLR kommuniziert mit der unteren Schicht der HAL über Delegate und Events.

Im Unterschied zum .NET Framework wird der C#-Code nicht mit dem Just-in-Time-Compiler kompiliert, sondern, ähnlich zu Visual Basic, interpretiert. Durch diesen Umstand ist das Micro Framework auch nicht echtzeitfähig. Durch Ausla...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang