Hallo, ich verwende ein AT45DB642D von Atmel als Speicher von Code und Daten für das Mikrocontroller-Programm. Dafür habe ich einen Treiber zum Lesen/Schreiben/Löschen von Daten vom Flash über SPI geschrieben. Habe mir auch das Datenblatt und die Application Notes durchgesehen und denke, dass ich die Ansteuerung grundsätzlich in Ordnung mache. Bei normalem Betrieb wird nur beim Hochfahren vom Flash gelesen und nichts mehr geschrieben bzw. gelöscht. Jetzt kommt es jedoch dabei manchmal vor, dass der Inhalte von einer einzelnen Seite des Flashs verloren geht und dann alle Bytes 0 sind (Flash hat 8192 Seiten zu 1056 Bytes). Hat jemand eine Idee, was hier die Ursache ist? Ich habe mir jetzt noch einmal alles angesehen bzw. gemessen: - Spannunsversorgung - Verhalten beim Ein-/Ausschalten der Versorgung - Kommandierung (Verwendung der Befehle, Reihenfolge,...) - etc. Werde jetzt die Write-Protection in Hardware (mittels WP-Leitung von Flash) implementieren und ausprobieren ob es das Problem löst.
Martin Steininger schrieb: > dass der Inhalte von einer einzelnen Seite des Flashs verloren geht > und dann alle Bytes 0 sind (Flash hat 8192 Seiten zu 1056 Bytes). > > Hat jemand eine Idee, was hier die Ursache ist? Ich tippe auf Software. Denn einfach nur "gelöscht" bedeutet, dass lauter 0xff drin stehen (gelöschtes Bit = 1, gelöschtes Byte = 0xff)! Wenn du also wirklich Nullen hast, dann hat die jemand willentlich reingeschrieben...
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.