Windows CE am Raspberry Pi
Nach einer kurzen Weihnachtspause geht es gleich wieder mit einem spannenden Artikel weiter. Seit einiger Zeit gibt es auf CodePlex ein Community Projekt das es sich zur Aufgabe gemacht hat Windows Compact Embedded 7 für den Raspberry Pi zu portieren. Windows CE ist eine spezielle Version von Windows die für andere Systeme wie Handhelds, Thin Clients oder jegliche andere Hardware ausgerichtet ist. Der Raspberry Pi scheint so bereits die perfekte Hardware dafür zu sein.
Projektstatus
Den Source Code des Projekts kann man herunterladen. Dieser ist laut der Dokumentation derzeit noch nicht vollständig, bietet aber bereits jetzt folgende Features:
- Debug-Bootloader (SLOADER1)
damit wird das System protokolliert gestartet und bietet somit bereits Möglichkeiten der Fehlerdiagnose - Bootloader (SBOOT)
mit diesem Bootloader verbindet sich der Raspberry Pi mit einem so genannten Platform Builder - Kernel
ein spezieller Kernel für den Raspberry Pi - KITL (Kernel Independet Transport Layer)
ein Verbindungslayer für den Kernel um diesen zu Debuggen - Video Treiber
ein Videotreiber der noch nicht optimiert ist, jedoch bereits das System auf dem Bildschirm ausgeben kann
Das System kann für beide Raspberry Pi Versionen verwendet werden. Wie kann man nun Windows CE installieren?
Installation
Voraussetzung hierfür ist ein Rechner auf dem der Platform Builder 7 installiert ist. Diesen kann man über den Link direkt von Microsoft herunterladen. Man muss dazu hinunter scrollen und Windows Embedded Compact 7 auswählen. Alles weitere ist selbsterklärend. Das Programm benötigt Visual Studio 2008, hat man dieses gerade nicht installiert kann man es auch von Microsoft herunterladen.
Projekt Daten
Als nächstes lädt man die Projektdaten von CodePlex und entpakt die RASPI2BSP.zip Datei unter \wince700\platform. Nun kann man entweder das vor konfigurierte Projekt RaspiCEProject.zip unter \wince700\OSDesigns oder man erstellt unter Visual Studio sein eigenes.
Image erstellen
Wenn man das vor konfigurierte Projekt lädt, kann man dieses auch gleich zu einem neuen Image kompilieren. Dazu ist es wichtig, dass man es in allen möglichen Build Versionen erstellt:
- Retail build
- Checked Build
- Debug Build
Das kann je nach Hardware einige Zeit dauern. Ergebnis von diesem Schritt ist eine kernel.img Datei im Release Ordner des jeweiligen Builds.
SD Karten Image
Das erstellen einer bootfähigen SD Karte ist eigentlich sehr einfach. Am besten man nimmt eine seiner Linux SD Karten und ersetzt dort die kernel.img Datei mit der neu kompilierten Datei aus dem vorherigen Schritt. Mehr ist nicht nötig. Nun sollte beim Start nicht Linux sondern Windows gestartet werden!
Konfiguration
Alle weiteren Informationen zur Konfiguration sind der Dokumentation zu entnehmen. Diese ändert sich und ist somit nicht immer aktuell. Derzeit kann man zum Beispiel die Videoauflösung ändern.
Alternativen
Gibt es im Windows Bereich Alternativen zu Windows CE? Die einzig denkbare Alternative wäre Windows RT, jedoch benötigt dieses 1 GB RAM und 1 GHz CPU, deshalb ist der Pi dafür zu leistungsschwach.
Hallo,
prima Beitrag, habe auch direkt versucht die beschriebenen Schritte umzusetzen.
Visual Studio 2008 beschert mir diese Fehlermeldung. Bin etwas ratlos !
c:\..\..\RaspiCE\RaspiCE\RaspiCE.pbxml kann nicht geöffnet werden, weil der Projekttyp (.pbxml) von dieser Version von Visual Studio nicht unterstützt wird. Verwenden sie zum Öffnen eine Version, in der dieser Projekttyp unterstützt wird. “
Irgendeine Idee wie ich das Image erstellen kann, bzw. den Fehler behebe ?
Schöne Grüße
In der Doku von Codeplex steht bei Installation:
Install VS ’08, VS’08 SP1 and then Platform Builder 7
Übersetzt: Installiere Visual Studio 2008 (mit SP1) und DANACH Platform Builder 7.
Wegen Den VS 08 Plugins.
Ich hoffe, ich konnte dir helfen 😉
Leider ist die Anleitung etwas schwammig. Weswegen ich aktuell noch nicht weiterkomme. Trotzdem vielen Dank.
Ist die Frage noch aktuell?
Ich habe das Projekt gebaut bekommen, augenscheinlich funktioniert es, allerdings keine USB- Unterstützung, es funktionieren dadurch keine Maus und keine Tastatur, somit lässt sich die Funktion nicht wirklich prüfen.
Theoretisch sollte es funzen, da die ARM v6 Architektur unterstützt wird.
Abschließendes lässt isch allerdings nur sagen, wenn man die USB Funktionen implementiert hat.
Der Ersteller dieser Sache schrieb in der Dokumentation:
Unfortunately, the Pi uses USB to interface with keyboards and mice. This is a PITA because writing the Windows Compact USB Host controller driver is a total PITA and I’ve not yet completed this task. Sorry, I’m working on it…
Übersetzung: Leider verwendet der Pi USB als Anschluss für Tastatur und Maus. Dies ist ein PITA, weil das Schreiben des Windows-Compact USB-Host-Controller-Treiber ist ein ganzes PITA, und ich habe noch nicht diese Aufgabe vollendet. Sorry, ich arbeite daran …
Warum liest keiner die Doku… :I
Weiss jemand ob es die kernel.img Datei irgendwo fertig zum Download gibt?
Würde mich auch sehr interessieren!
Mich auch!
Wie sieht es mit Raspberry Pi2 Unterstützung aus?
Gibt es bereits die kernel.img-Datei fertig zum Download? Falls ja, könnte jemand diese mal verlinken?