Forum: FPGA, VHDL & Co. EPCS Flash Controller auslesen


von leo (Gast)


Lesenswert?

Hallo,

ich verwende in einer Hardwareapplikation einen EPCS4 Flash Controller 
der direkt an einem FPGA angeschlossen ist. Mit einem Mikrocontroller 
soll in Zukunft die FPGA Firmware aktualisiert werden. Hierfür habe ich 
den EPCS4 Flash Controller an einen Mikrocontroller angebunden. Via SPI 
Kommunikation kann auf den EPCS zugegriffen werden. Nun habe ich mal 
einen vorhanden EPCS Flashinhalt mit dem Mikrocontroller ausgelesen. Den 
ersten Sektor habe ich mit der generierten *.rbf Datei (von Quartus 
erzeugt) verglichen. Es gibt stellen, die unterschiedlich sind, was ich 
mir nicht erklären kann.

von leo (Gast)


Lesenswert?

Adresse 0x49 und 0x4A sind unterschiedlich.

von leo (Gast)


Lesenswert?

Die generiete Datei mit der Endung *.rbf, ist diese identisch mit dem 
Dateninhalt vom EPCS Flash Controller ? Gibt es beim Updatevorgang via 
Mikrocontroller über SPI noch etwas zu beachten ?

von leo (Gast)


Lesenswert?

Keiner hier der sich mit dem EPCS Controller auskennt ?

von Tobias S. (tryan)


Lesenswert?

Hallo Leo,

also ich denke das in der Adresse 0x49 und 0x4A kodiert wird "wie" das 
Programm auf dem EPCS geladen wird. jic-files haben eine andere 
Kodierung wie z.b. *.rbf. Aber der rest sollte identisch sein dann läuft 
das Programm auch.

Beim update Vorgang sollte man beachten, dass man die neu zu 
beschreibenden Sektoren vorher löschen muss.

Und das bei den Daten wohl MSB und LSB gedreht werden müssen.

Viele grüße Tobias

von leo (Gast)


Lesenswert?

Vielen Dank für deine Antwort. Gibt es eine spezielle Dokumentation, wo 
das drin steht ?

Also kann ich quasi den Inhalt von beiden Adressen ignorieren ?

von Thomas R. (tinman) Benutzerseite


Lesenswert?

nein es gibt keine doku zur rbf, ledigich ein paar hack versuche.
Die adr 0x49 und 0x4A gehören zu irgendwelchen checks, du kannst die
unterschiede ignorieren.

von leo (Gast)


Lesenswert?

Der EPCS Flash Controller lässt sich nun beschreiben. Von einem Projekt 
wurde ein rbf File erzeugt. Den Inhalt dieser Datei wurde auf den EPCS 
Flash Controller kopiert. Die Daten im EPCS Flash Controller habe ich 
zum Schluss ausgelesen und mit dem rbf File verglichen. Keine 
Unterschiede sind festzustellen. Wenn ich den EPCS Flash Controller 
wieder auf das Board mit dem FPGA bestücke, dann läuft der FPGA nicht 
an. Gibt es beim Kopiervorgang auf den EPCS Flash Controller noch was zu 
beachten ?

von Günter (. (dl4mea)


Lesenswert?

Hi,

ich beschreibe an einen Cyclone II das serielle Flash über SPI 1:1 mit 
dem RBF (Raw Binary File) und das klappt bestens. Irgendwelche Bytes 
werden nicht neu berechnet, aber ich glaub auch daß da ein Bitswapping 
MSB-LSB stattfindet.

Anfangs habe ich das mit dem BlackCAT USB 
(http://www.embeddedcomputers.net/products/FlashcatUSB/) gemacht, 
mittlerweile im Serienprodukt mache ich das über Bitbang und FT232 vom 
PC aus. Dauert zwar ein bischen, aber es klappt ohne zusätzliche 
Komponenten oder FPGA. Einzig wenn das FPGA noch unkonfigiguriert ist 
muß man es per Reset ruhig stellen.

Günter (dl4mea)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.