25.12.2013 Aufrufe

Gecko3 - CCC Event Weblog

Gecko3 - CCC Event Weblog

Gecko3 - CCC Event Weblog

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

6. Firmware<br />

6.6.2. SPI Flash auslesen<br />

Die Lesefunktion des SPI Flashs ist auf das wesentliche beschränkt. Mit ihr ist es möglich<br />

512 Byte aus dem SPI Flash auszulesen und über USB an den Host zu senden. Die Startadresse<br />

wird dabei auf 0 gesetzt. Mit dem entsprechenden Vendor Request ruft der Anwender<br />

die Funktion auf. Danach kontrolliert man zuerst, ob der EP4 FIFO Buffer voll ist. Wenn das<br />

nicht der Fall ist, wird eine Block Read Instruktion nach dem selben Prinzip wie beim Schreiben<br />

durchgeführt. Wie auch beim EEPROM ist die Anzahl Byte beim Lesevorgang nicht<br />

limitiert. Das heisst der FIFO Buffer kann ohne Unterbruch mit 512 Byte gefüllt werden.<br />

Die Abbildung 6.7 zeigt den Ablauf der Funktion.<br />

Abbildung 6.7.: SPI Flash auslesen<br />

6.6.3. FPGA Bootload<br />

Die Bootload Funktion wird in der Initialisierung der Firmware aufgerufen. Das heisst der<br />

EZ-USB FX2 beschreibt den FPGA bei jedem Neustart, egal ob eine Konfiguration im SPI<br />

Flash vorhanden ist oder nicht. Ist das SPI Flash leer, wird der Spartatn 3 keine gültige<br />

Konfiguration erhalten, was jedoch kein Problem ist, da er vor jedem Konfigurieren seinen<br />

Inhalt verwirft. Der Programmablauf in dieser Funktion ist praktisch derselbe wie bei der<br />

direkten Konfiguration vom Host. Der einzige Unterschied liegt darin, dass die Daten nicht<br />

vom EP2 FIFO Buffer an den Port gelegt werden, sondern von der Block Read Funktion.<br />

Wir verweisen daher auf das Unterkapitel 6.4 und den Sourcecode.<br />

28 Matthias Zurbrügg

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!