Hi und nen schönen Samstag... Ich versuche seit einiger Zeit einen 16MB NAND-Flash von Hynix (HY27US08281A) mit einem Mega32 über die RS232-Schnitstelle zu beschreiben und auszulesen. PC-seitig nutze ich das Diagnosetool hTerm um mit dem Controller zu kommunizieren. Mein Ziel ist es den Inhalt einer BIN-Datei auf den NAND zu schreiben, welches ein komplettes 1:1 Abbild darstellt (Auch Sparepages mit Badblockinformationen). Zu Testzwecken habe ich mir einen neuen NAND gekauft und auf eine Trägerplatine gelötet. Das beschreiben, auslesen und löschen ein kompletten Page (527 Byte) klappt mit ASCII-Text schon ganz gut. (Hab mir einfach 527 Zeichen aus Wikipedia kopiert) Aber als ich eine JPG-Datei, bzw. die ersten 527 Byte davon, auf eine Page schreiben und wieder auslesen wollte, fehlten einige Byte. Es scheint so, als ob z.b. bei der Folge "00 FF" das FF einfach übergangen wird. Daraufhin habe ich ein Testmuster auf den NAND geschreiben. Es besteht aus: " [0-255], 00, FF ". (Muster2_1.bin) Auslesen konnte ich allerdings nur "Muster2_1__returned.bin". Ich erkenne kein Muster dahinter erkennen, welche Bytes dazu führen, dass z.b. ein FF einfach ignoriert wird. Die FFs am Ende der Datei kommen daher, dass dem Controller mitgeteilt wird, wieviele Bytes er lesen soll und das auchnoch tut, wenn der NAND keien neuen Daten mehr ausgibt. Kann mir vllt. Irgendjemand sagen, wie es zu einem so merkwürdigen Fehler kommen kann? (den Quellcode meines µC-Programmes habe ich auch mal angehängt) mfg Michi
Hat echt niemand eine Idee? :(
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
Die beiden PORTA müssen doch sicher PORTC sein, oder? fchk
Vielen Dank fchk Die Belegung hatte ich mal anderst, deshalb hab ichs noch verkehrtrum. Ich benutze diese Funktion eigentlich nicht, da ich über die andere Read-Funktion auch die Spare-Pages lese. Ich sollte vllt. mal meinen Code ausmisten ;) mfg Michi
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.