Frage

Wir haben eine Reihe von PC Demonstrationsprogramme für unsere Mikrocontroller-Produkte. Die Programme verbinden typischerweise an einen USB-HID-Chip auf der Mikrocontroller-Board. Der USB-Chip fungiert als eine Kommunikationsbrücke, so dass die Programme mit dem micros über SPI / I2C / UART kommunizieren. Die Programme können die Mikros konfigurieren und zurück Statusinformationen für den Benutzer angezeigt werden soll.

Wir suchen nun einige Standalone-Demonstrationen mit Einplatinen-PC zu bauen. Wir möchten so viel wie möglich von unserer bestehenden Demo-Anwendung Quellcode wiederzuverwenden. Im Idealfall könnten wir laufen sie nur, wie sie ist.

Hat jemand irgendwelche Ratschläge über den besten Weg? Die grundlegenden Optionen scheinen WinCE oder XP Embedded Boards zu sein. WinCE Bretter scheinen weniger Strom zu ziehen, die einen Vorteil aus einer Batterielebensdauer Sicht wären.

Unsere bestehenden Demos entweder in C ++ unter Borland Builder oder in Delphi gebaut werden.

Vielen Dank im Voraus.

EDIT: siehe meine Antwort unten mit Informationen aus einem Brett Anbieter

.
War es hilfreich?

Lösung

Es gibt keine Delphi-Version für WinCE, so dass Sie die Anwendungen neu zu schreiben müßten. Das gleiche gilt für die Steuerbibliotheken Borland Builder. Nur wenn Sie schlicht Win32-API verwendet haben, möchten Sie Port Ihre Anwendung in der Lage sein, leicht zu WinCE. Sie können auch Probleme mit dem Zugriff auf die Hardware Teil begegnen. Der Serial Port-Treiber kann nicht funktionieren, wie es ist. Außerdem müssen Sie eine WinCE Board finden, die als USB-Host fungieren kann und bietet HID-Treiber (dies ist nicht sehr häufig).

Abschließend glaube ich, dass Sie sich besser von mit Windows XP Embedded Boards sein würde. Diese sollten führen Sie Ihre Anwendungen, wie sie sind.

Andere Tipps

Free Pascal / Lazarus kann einige Formen von Delphi-Anwendungen zu WinCE / Arm kompiliert. Auch visuell diejenigen.

Als aktualisieren und für die Zukunft, ich dachte, ich würde die Ergebnisse unserer Diskussionen mit WinCE Board-Anbieter hier posten. Caveat:. Ich habe nicht wirklich versucht, irgendetwas davon

Das Endergebnis ist, dass es keine einfache Art und Weise zu tun, was wir uns erhofft haben (das heißt, wieder kompilieren unsere bestehenden Demo-Anwendungen unter WinCE laufen). Der Grund dafür ist, dass die generischen HID-Treiber und Standard-APIs, die nur in Desktop-Versionen von Windows gibt, sind dort nicht in WinCE.

Um zu HID-Geräte in WinCE sprechen Sie benötigen eine benutzerdefinierte HID-Treiber zu implementieren. Dies benötigt eine Schnittstelle, über die Benutzermodus-Anwendungen mit dem Fahrer kommunizieren zu unterstützen und HID-Berichte zu konstruieren, zu der physikalischen Vorrichtung gesendet werden. Da diese Schnittstelle selbst Brauch wäre, muss Anwendungscode entsprechend aktualisiert werden.

WinCE-Anwendungsentwicklung wird in der Regel von Visual Studio und den Microsoft-Compiler getan werden. Der Ansatz uns empfohlen wurde:

  1. Erstellen Sie eine benutzerdefinierte HID-Klasse-Treiber. Dies könnte basierend auf, zum Beispiel der Microsoft-Tastatur-Treiber HID.
  2. Erstellen Sie eine API für den Fahrer zu sprechen.
  3. Verwenden .net unsere GUI-Anwendungen zu erstellen, und verwenden Sie PInvoke, um tatsächlich an die API zu sprechen.

Das Endergebnis all dieser Kopf-Kratzen das ist die Zeit und die Lernkurve bei diesem Ansatz zu vermeiden, werden wir für ein Board gehen XP laufen. Wir können dann unsere bestehenden Demo-Anwendungen direkt aus der Box verwendet werden. Der Kompromiss ist, dass wir mit wesentlich verringerter Lebensdauer der Batterie zu leben haben würden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top