MENU
Contact Us




Projekt

Migration von CE zu Linux

Portieren der Software von WinCE nach Linux und Vorbereiten des entsprechenden Images für die SPS



CPU

ARM

Hersteller

NXP

OS

Linux

Kompetenzen

Linux
WinCE
Yocto
C/C++
CODESYS Control

Projektgröße:

Schwierigkeit:




Anfrage/Problem:

Der Kunde hat im Portfolio mehrere Geräte, die auf WinCE basieren. Da diese nach spezifischen Anforderungen maßgeschneidert sind, basieren sie auf unterschiedlicher Hardware und weisen unterschiedliche Softwarekonfigurationen auf (d. h. Anzeige oder nicht, CODESYS oder nicht, unterschiedliche Kommunikationsprotokolle usw.). Da dem Kunden das Know-how für Linux fehlt, müssen alle diese Geräte auf Linux aktualisiert, die Legacy-Software von WinCE auf Linux muss portiert, portierte Software installiert und konfiguriert, die verschiedenen Firmware Versionen getestet und gewartet werden.

Lösungsansatz:

Wir haben ein Repository vorbereitet, das Konfigurationen für verschiedene Gerätetypen enthält. Dadurch konnten wir die entsprechenden Images für die verschiedenen Geräte erstellen. Für die Softwarekomponenten wurden die entsprechenden Makefiles erstellt (basierend auf VS-Projekten für WinCE). Der Quellcode wurde überarbeitet, um Linux spezifische Anweisungen und Funktionen zu verwenden. Da der Hardwarezugriff unter Linux und WinCE unterschiedlich ist, wurden die low-level Softwareteile (hardwarespezifisch) erheblich überarbeitet. Intensive Modultests und Systemtests wurden durchgeführt, um das korrekte Verhalten und die Stabilität des Systems sicherzustellen.

Architektur:

U-boot und Linux-Kernel (mit Echtzeit-Patch) wurden auf dem Gerät installiert. Standardtreiber für den Zugriff auf die Hardware (CAN, SPI usw.) waren im Linux Kernel verfügbar und konfiguriert. DevAPI.dll war in WinCE verfügbar, um den Hardwarezugriff zu abstrahieren. Diese DLL wurde unter Linux in die entsprechende Datei DevAPI.so portiert. API Funktionen von DevAPI.so können von einer eigenständigen C/C++ Applikation oder von CODESYS Control über spezielle benutzerdefinierte Komponenten aufgerufen werden.

Ergebnisse:

Das Upgrade aller Geräte auf ein neues Betriebssystem verlief reibungslos und unser Kunde konnte seine Geräte weiterhin mit derselben Funktionalität bereitstellen, häufig sogar mit noch mehr Funktionen. Dieses Upgrade auf Linux ermöglichte es dem Client, den Produktlebenszyklus um mehrere Jahre zu verlängern und ist nun die Basis für neue weitere Geräte. Wartung und Weiterentwicklung werden jetzt von unserem Team übernommen.




Ressourcen: