Forum: FPGA, VHDL & Co. Trex C1 Board Flash Fehler


von theFloe (Gast)


Lesenswert?

Hallo,

wie auch so manch anderer hier in dem Forum habe ich mir das Trex C1
Board zugelegt. Heute wollte ich was mit dem onboard Flash gemacht und
habe dabei festgestellt, dass dieses nicht zu funktionieren scheint.

Ich habe LAB3 hinauf geladen und das USB Control Panel gestartet. Im
Flash TAB habe ich eine Adresse und einen Wert bei wDATA eingegeben,
danach write gedrückt und dann read. Unter der Wert im Feld rDATA ist
eigentlich immer ungleich wDATA.

Bsp:
   Adress: 0
   wDATA: aa
   -> pressed Write
   -> pressed Read
   in rDATA: "65" appeared, which is not AA
For 55 written i got E6
For 00 written i got 00
For FF written i got 64

Habe das Ganze vorher dem Support geschrieben. Meine Frage ist euch das
auch schon aufgefallen oder mache ich da einen Fehler?

Tobias

von TobiFlex (Gast)


Lesenswert?

Hi Tobias,
ich habs gerad ma ausprobiert. Ist bei mir auch so. Allerdings habe ich
auch eine Erklärung dafür. Es gibt zwei Möglichkeiten bei einem Flash
ein Bit zu verändern:
1. von 1 auf 0 durch programmieren,
2. von 0 auf 1 durch Löschen eines Blocks.

Steht z.B. an einer Speicherzelle FF läßt sich jedes beliebige Byte
schreiben. Steht an der Speicherzelle ein Werte ungleich FF lassen sich
nur Werte schreiben, bei denen keine Bits von 0 auf 1 geändert werden
müssen.
Die Ausgabe von E6 ober 64 könnten Fehlercodeausgaben vom Flasher sein.
Der tatsächliche Wert im Flash läßt sich erst wieder nach Aus- und
Einschalten des Boards lesen.
Normalerweise lassen sich einzelne Sectoren eines Flashs löschen. Das
ist bei dem Controlpanel nicht vorgesehen - es muß also immer der
gesammtes Flash gelöscht werden.

Viele Grüße
TobiFlex

von Tobias Floery (Gast)


Lesenswert?

Ich war eigendlich der Meinung das handelt das Board / Software selber
da die Software ja diese Funktionalität bietet. Aber wahrscheinlich
wird dem so sein, wie du sagst.

Danke auf alle Fälle.

von theFloe (Gast)


Lesenswert?

Habe gerade rumprobiert und nachdem ich das Flash gelöscht habe, stimmen
die Werte.

Jedoch habe ich dabei ein weiters Problem erkannt. Wenn ich mich nicht
wieder täusche, ist das Flash (29LV800) ein 8MBit bzw 1Mbyte Speicher.
Wenn ich den Speicher lösche, und dann über Sequential Write im Control
Panel eine 0.4 MByte große Datei reinschreibe, dann steht ab Adresse
0x263AA nur noch 0xFF im Speicher. Jedesmal ab dieser Adresse. Also ich
kann löschen & schreiben so oft wiederholen wie ich will, jedesmal ab
der selben Adresse nur noch 0xFF im Speicher.

Kannst du dir das erklären, TobiFlex?

von TobiFlex (Gast)


Lesenswert?

Dafür gibt es eigentlich nur 2 Erklärungen:
1. Beim Flashen trat ein Fehler auf => STOP
2. Die Datei enthält bereits ab 0x26AA nur noch 0xFF.

Werde es nachher mal mit meinem Board testen.

von theFloe (Gast)


Lesenswert?

glaub 1. glaub ich nicht, da es immer genau an dieser Stelle passiert.
Werde aber nachher mal eine andere Datei testen.

zu 2. die Datei enthält dort Daten und keine 0xFF's.

von TobiFlex (Gast)


Lesenswert?

So! Ich kann den Fehler bestätigen. Bei meinem Board ist bei 0x33aa
Schluss. Danach nur noch 0xFF. Ich habe mir mal den Spaß gemacht und
den Flash 2x ausgelesen. In dem hintern Bereich treten dann mit einem
mal Blöcke mit 0x00 auf. Beim nochmaligen Lesen waren diese 0x00 Blöcke
an anderen Stellen. Sehr merkwürdig...

von theFloe (Gast)


Lesenswert?

Kann ich auch bestätigen...
Intressant wäre was wirklich im Speicher steht.Vielleicht ists ja ein
Fehler der auslese Routine.

Mal schauen. Werde auf jeden Fall noch ein Paar Tests machen.

Bei einer anderen Datei lag der Fehler bei mir viel weiter hinten. Habe
das File 5thelement_1Mbyte genommen und dort lag der Fehler bei
0x822A9.
Deshalb glaube ich, dass es ein Fehler der schreib / lese Routine des
Panels ist. Timing kann meiner Meinung nach wegen der
Reproduzierbarkeit (selbes File, selbe Stelle) nicht sein.

Vielleicht verwendet die Trex Software ja irgendwelche Control Zeichen
im Datenstrom und wenn diese im File auftreten gibts Murks (glaube aber
nicht daran, dass das gemacht wird).

von TobiFlex (Gast)


Lesenswert?

Meine Experimente mit dem RS232 Controllpanel sind leider auch negativ.
Zwar wird der Flash komplett beschrieben, dafür sind hier aber immer
mal wieder einzelne Bytes falsch. Auch schon wieder sehr merkwürdig...

von TobiFlex (Gast)


Lesenswert?

Heute habe ich weitere Versuche angestellt. Mit dem RS232 Controll Panel
scheint der Flash richtig programmiert zu werden. Das dauert aber sehr
viel länger als über USB. Die falschen Bytes müssen beim Lesen
entstehen. Der SDRAM läßt sich über USB und RS232 richtig beschreiben
aber auch hier gibt es Lesefehler.
Viele Grüße
TobiFlex

von TobiFlex (Gast)


Lesenswert?

Auf der Seite von Terasic gibt es inzwischen eine neue Version des
Controlpanels(v 1.02). Damit lassen sich Flash und SDRAM ohne Fehler
über USB beschreiben. Beim Lesen treten jedoch weiterhin ab und zu
Fehler auf.
Viele Grüße
TobiFlex

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.