Gecko3 - CCC Event Weblog
Gecko3 - CCC Event Weblog
Gecko3 - CCC Event Weblog
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
7. Hostsoftware<br />
Der aus Sicht des Anwenders wichtigste Teil unserer Arbeit ist die Host PC Software, da<br />
er mit ihr das Gecko Board in Betrieb nehmen kann und sie ihm einen möglichst einfachen<br />
Weg bereitstellt mit dem Gecko Board Daten auszutauschen.<br />
Für den Anwender gibt es die folgenden Aufgaben, die unsere Hostsoftware erfüllen muss:<br />
• Direkte Konfiguration des FPGAs<br />
• Download einer FPGA Konfigurationsdatei für den stand-alone Betrieb<br />
• Möglichkeit um mit dem FPGA Daten auszutauschen<br />
Der Datenaustausch wird von den anderen Aufgaben getrennt betrachtet. Dies ist sinnvoll,<br />
weil der Datenaustausch in den meisten Fällen auf die Applikation abgestimmt ist und die<br />
Daten vielfach zuerst weiterverarbeitet werden sollen.<br />
Dies haben wir schon im Konzept der USB Kommunikation einfliessen lassen und die<br />
beiden unterschiedlichen Fälle Administration und Kommunikation logisch voneinander getrennt.<br />
Wie im Kapitel 6 und in der Abbildung 6.1 beschrieben wird, sind für diese Fälle<br />
getrennte Interfaces vorhanden. Aus Sicht des Host verhält sich ein USB Gerät mit mehreren<br />
Interfaces wie einzelne getrennte Geräte. So ist es in unserem Fall möglich, für die<br />
Kommunikation und die Administration separate Software einzusetzen, ohne dass sich diese<br />
gegenseitig blockieren.<br />
Für die Hostsoftware weitere wichtige Anforderungen:<br />
• Plattformübergreiffend einsetzbar, mindestens unter Linux und Windows<br />
• Möglichst einfach in der Benutzung<br />
• Kommunikation mit dem FPGA möglichst transparent<br />
• Anwender soll sich nicht um die USB Schnittstelle kümmern müssen<br />
• Beispielprogramme sollen dem Anwender den Einstieg vereinfachen<br />
• Aktualisieren der Firmware des EZ-USB FX2 mit der Hostsoftware möglich<br />
7.1. Planung<br />
Um diese Anforderungen unter einen Hut zu bringen war etwas mehr Planung nötig um<br />
zu entscheiden welche Entwicklungswerkzeuge, Programmiersprache und Bibliotheken genutzt<br />
werden sollen. Da es sich um eine plattformübergreiffende Entwicklung mit graphischer<br />
Oberfläche handelt, musste zuerst ein GUI Framework gesucht werden, dass auf mehreren<br />
Plattformen verfügbar ist. Dabei fiel die Wahl schnell auf Qt von der Firma Trolltech<br />
Project Report 37