Hallo zusammen, Ich sitze hier und zerberech mir den Kopf ab einem fremd-entwickelten Linux-Board (AT91 basiert). Leider ist der Entwickler dieses Boards nicht mehr in der Firma und wir haben somit null Unterstützung. HW-Konfiguration: 1X AT45 Dataflash: U-Boot 1x AT45 Dataflash: Linux-Kernel (2.6.19) 1x 64MB NAND: RootFS Das Board startet nicht (Kernel hängt) sobald das NAND fehlerhafte blöcke hat im verwendeten Bereich. (das NAND ist zur Hälfte gefüllt). Die Flash's werden mit einem JTAG-Tool programmiert. In U-Boot ist das NAND so wie es aussieht eh falsch konfiguriert, habe auch keinen Zugriff! Im Anhang habe ich 2 Bootlogs gepostet. Hat jemand eine Idee was da falsch läuft? Herzlichen Dank an alle! Gruss Matthias
So etwas hatte ich auch mal: JFFS auf Flash. Mein Problem war, dass beim Schreiben des JFFS nur der wirklich benutzte Teil geschrieben wurde, der Rest blieb unberührt. Das führte zu Filesystem-Fehlern. Lösung: vor dem Schreiben der Filesystempartititon diese mit einem Tool komplett löschen. Ich habe flash_eraseall benutzt. War zwar ein total anderer Prozessor und ein brandneuer Kernel. Aber die Symptome sahen genau so aus.
Welcher NAND? Reicht dem NAND standard ECC (1 bit/Block) oder braucht es mehr (BCH)? UBIFS statt JFFS2 verwenden.
Es ist ein Standard Hynix-Flash (H27U518S2CTR-BC). Sobald dieses defekte Blöcke im verwendeten Bereich hat ist Schluss! So wie ich anhand des Logs sehen kann, wurde ECC deaktiviert? Wäre das ein möglicher Grund? Danke und Gruss Matthias
Ist es möglich dass der Kernel seine Daten an einer bestimmten Adresse im NAND sucht und diese nicht findet da sie um den Betrag der defekten Blöcke verschoben ist? ....nur eine weit hergeholte Theorie von mir!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.