Gecko3 - CCC Event Weblog
Gecko3 - CCC Event Weblog
Gecko3 - CCC Event Weblog
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