Windows Embedded CE 6.0

Im Praxistest bei Beckhoff Automation

21.05.2007 | Autor / Redakteur: Ramon Barth und Frank Prengel* / Martina Hafner

Ramon Barth, Leiter Software-Entwicklung bei Beckhoff Automation, berichtet über seine ersten Erfahrungen mit Windows Embedded CE 6.0
Ramon Barth, Leiter Software-Entwicklung bei Beckhoff Automation, berichtet über seine ersten Erfahrungen mit Windows Embedded CE 6.0

Seit November 2006 ist Windows Embedded CE 6.0 auf dem Markt. Mit der neuen Version bietet Microsoft insbesondere Unterstützung für Applikationen wie IP-Set-Top-Boxen, kabellose Projektoren, Unterhaltungselektronik sowie die Industrieautomatisierung und Medizintechnik. Beckhoff Automation berichtet von seinen ersten Erfahrungen mit dem neuen Betriebssystem.

Beckhoff Automation, Anbieter offener Automatisierungssysteme auf Basis PC-basierter Steuerungstechnik, arbeitet bei verschiedenen Produkten mit Windows Embedded CE 6.0, vom Ethernet-basierten Feldbuscontroller bis hin zum PC für den industriellen Einsatz. Die generellen Anforderungen an das Betriebssystem sind harte Echtzeitfähigkeit und ein geringer Speicher-Footprint. Hinzu kommen in Bezug auf die Entwicklungsumgebung eine intuitive Bedienung, integrierte Kontrolle der Versionen sowie Entwicklungsverfolgung und hohe Stabilität.

Beckhoff Automation startete die Migration von Windows CE 5.0 zur Version 6.0 mit der Erstellung eines Prototypen im Oktober 2006. Bekanntermaßen kann es bei grundlegenden Änderungen im Betriebssystem zu Brüchen in der Kompatibilität mit Anwendungen kommen, die für eine frühere Version des betreffenden Betriebssystems geschrieben wurden. Dies ist teilweise der Fall bei Windows Embedded CE 6.0. Zum Beispiel verhindert Windows CE ab der Version 6.0 zum Schutz des Systems den Zugriff auf physikalische Speicheradressen aus dem User-Mode-Prozess heraus. Anwendungen, die diese Funktionalität benötigen, müssen den Speicherzugriff nun an einen Kernel Mode-Treiber delegieren. Lösungsvorschläge hierzu sind in der Platform Builder-Hilfe im Internet dokumentiert (siehe Link-Liste).

Parallelentwicklung für zwei Welten

Windows CE entwickelt sich außerdem zunehmend in Richtung einer Architektur der „großen“ Betriebssystemverwandtschaft. Deshalb hat es sich für Beckhoff Automation ausgezahlt, Anwendungen unter Berücksichtigung der eingeschränkten Win32 API von Windows CE und der Kompatibilität zu den Desktop-Windows-Versionen Windows NT, Windows 2000, Windows XP und Windows Vista zu verfassen.

Die Laufzeitkomponente der Beckhoff TwinCAT-Software kann durch eine Rekompilation sowohl auf Windows CE als auch auf Desktop-Windows-Versionen ablaufen. Die Parallelentwicklung für beide Welten wird durch das gemeinsame API und die Integration der Entwicklungswerkzeuge in Visual Studio 2005 sehr gut unterstützt.

Für die Migration der TwinCAT-Software auf Windows Embedded CE 6.0 waren nur geringe Anpassungen nötig. Für Windows CE 5.0 geschriebene C/C++ -Software, die das Win32 API nutzt und die E/A-Kommunikation beispielsweise über die Beckhoff Feldbus-API durchführt, kann größtenteils unverändert und ohne Neukompilation auch auf Windows Embedded CE 6.0 ablaufen. IEC-61131-basierte Automatisierungs-Anwendungen, die die TwinCAT Laufzeitumgebung nutzen, sind von der Umstellung auf die neue Betriebssystemversion nicht betroffen.

Leistungssteigerung um 30 Prozent

Mit dem Einsatz von Windows Embedded CE 6.0 wurde bei der Kommunikation zwischen User-Mode-Prozessen und Gerätetreibern eine Leistungssteigerung von 30% festgestellt. Messungen der Prozessoren zeigen bei Funktionen des I/O-Systems eine Geschwindigkeitserhöhung zwischen 28 und 37%. Der Jitter hat sich bei Windows Embedded CE 6.0 trotz der umfassenden Änderungen in der Systemarchitektur leicht verbessert.

Die bei Windows Embedded CE 6.0 neue Unterscheidung zwischen Kernel-Mode- und User-Mode-Treibern bringt weitere Vorteile. Durch den Kernel-Mode kommt es beispielsweise zu der beschriebenen besseren Leistungsausnutzung, während im User-Mode durch die Isolation vom Kernel die Systemstabilität erhöht wird. Der Entwickler kann je nach Anforderung entscheiden, in welchem Modus der Treiber ablaufen soll.

Auch bei der Netzwerkkommunikation wurde ein Leistungszuwachs von 30 bis 40% aufgrund der optimierten Systemarchitektur gemessen. Der Datentransfer von User-Mode zu Kernel-Mode ist unter Windows Embedded CE 6.0 deutlicher leistungsstärker als die User-Mode Interprozesskommunikation in Version 5.0.

Kürzere Einarbeitung durch Integration des Platform Builders

Durch die Integration des Platform Builder in Visual Studio 2005 ist es Beckhoff Automation möglich, alle Projekte vom Windows-XP-Kernel-Mode-Treiber über die Windows-CE-Plattform bis hin zur .NET-basierten HMI-Anwendung mit einem Entwicklungswerkzeug zu bewältigen.

Zum einen verkürzt sich dadurch die Einarbeitungszeit der Mitarbeiter und zum anderen wird das Aufsetzen einheitlicher Entwicklungsprozesse erleichtert. Mit dem Microsoft Visual Studio Team System bekommt man zudem eine in Visual Studio integrierte Team- und Software-Managementlösung.

Weiter verkürzt werden Turn-Around-Zeiten durch die Unterstützung von Simulation und Vortests mit dem Device-Emulator. Der Windows-CE Kernel-Debugger ermöglicht außerdem eine effektive Analyse von Laufzeitfehlern.

Für Beckhoff Automation ist Windows Embedded CE 6.0 somit die sinnvolle Fortführung der firmeneigenen Basistechnologie. Das Betriebssystem eröffnet dem Unternehmen neue Möglichkeiten der Leistungssteigerung und der Programmierung von individuellen Produkteigenschaften unter Beibehaltung des geringen Footprints und der guten Echtzeiteigenschaften.

Grundlagen und Neuerungen von Windows Embedded CE 6.0 im Überblick

In der aktuellen Version von Windows Embedded CE sind verschiedene technische Verbesserungen hervorzuheben. Grundsätzlich zeichnet sich Windows Embedded CE 6.0 wie bisher durch geringen Ressourcenverbrauch und harte Echtzeitfähigkeit aus. Das Betriebssystem unterstützt neben der x86-Prozessorarchitektur auch ARM-, SH4- und MIPS-kompatible 32-Bit-CPUs (mit MMU).

Neu bei Windows Embedded CE 6.0 ist, dass der Kernel im Bereich der virtuellen Speicherverwaltung und Treiberarchitektur überarbeitet wurde. Microsoft hat sich vom alten Speichermodell mit maximal 32 gleichzeitig ausführbaren Prozessen sowie 32 MByte virtuellem Speicher pro Prozess verabschiedet. Stattdessen werden jetzt theoretisch bis zu 32.768 Prozesse unterstützt. Jeder dieser Prozesse kann auf 2 GByte virtuellen Speicher zugreifen. Die oberen 2 GByte des 32-Bit-Adressraumes sind dabei weiterhin für den Kernel reserviert.

Die zweite wichtige Änderung betrifft das Treibermodell. In Windows Embedded CE 6.0 befinden sich Gerätetreiber standardmäßig im sogenannten Kernel-Mode, was Interrupt-Behandlung und Systemaufrufe beschleunigt. Treiber, bei denen Systemstabilität eine höhere Priorität als die Leistung hat, können alternativ auch in einem eigenen Adressraum, dem User Mode, laufen.

Aus Sicht eines Systementwicklers interessant ist außerdem die Integration des bisher eigenständigen Konfigurationswerkzeugs Platform Builder in die Microsoft-Entwicklungsumgebung Visual Studio 2005. System- und Anwendungsentwicklung sind damit zusammengefasst und mit neuen Werkzeugen wie Compilern und Debuggern verbunden. Im Rahmen der Shared-Source-Initiative von Microsoft sind erstmalig große Teile des Source Codes des Betriebssystems veröffentlicht worden – in Version 6.0 zusätzliche 56% inklusive des kompletten Kernels.

Microsoft will mit den Neuerungen in Windows Embedded CE 6.0 auf die Bedürfnisse seiner Partner und Kunden nach größerer Leistungsfähigkeit und Stabilität eingehen und die Produktivität und Effizienz der Entwickler erhöhen. Wie bei Microsoft-Produkten üblich sind Windows-Embedded-Kunden zudem durch die sogenannte Intellectual Property Indemnification vor Patentklagen Dritter geschützt. Dies dient dem Ziel, risikoarme Entwicklung und schnelle Markteinführung zu ermöglichen.

Für Evaluierungszwecke steht eine voll funktionsfähige, zeitlich auf 180 Tage beschränkte Testversion des Platform Builder auf Microsofts Homepage zum Download bereit (siehe Link-Liste).

*Ramon Barth, Leiter Software-Entwicklung bei Beckhoff Automation und Frank Prengel, Technologieberater bei Microsoft Deutschland. Kontakt für Leseranfragen: GHerrmann@WeberShandwick.com

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 208937 / Embedded Software Entwicklungswerkzeuge)