Forum: Mikrocontroller und Digitale Elektronik Wann ist ein Flash-Chip "unprogrammed"?


von Bernd (Gast)


Lesenswert?

Vor dem Schreiben muss man ja üblicherweise einen größeren Bereich 
löschen. Kann dann aber kleinere Datenblöcke nach und nach schreiben.

"Unprogrammiert" ist üblicherweise 0xFFFFFFFF. Aber was passiert, wenn 
ich dann dort 0xFFFFFFFF schreibe? Kann ich die gleiche Zelle dann 
nochmal beschreiben, z.B. mit 0xD00FAFFE? Oder muss ich wieder löschen, 
obwohl es vorher 0xFFFFFFFF war?

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Wenn Du 0xFF schreiben willst, dann wird überhaupt nicht geschrieben, 
sondern diese Speicherstellen bleiben gelöscht. Dafür sorgt der 
Chipcontroller bzw. das Programmiergerät.

Das Brennen eines EPROMs mit FF geht irre fix, weil einfach garnichts 
gemacht wird.

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Bernd schrieb:
> Kann ich die gleiche Zelle dann
> nochmal beschreiben, z.B. mit 0xD00FAFFE?

Ja.

von Adam P. (adamap)


Lesenswert?

Hey,

kommt das nicht auf den Chip an?

Beim Atmel SAM4E ist es im Flash zumindest so, dass der Flash Controller 
nur Bits löschen kann, nicht setzen.
Sprich: Aus 0xFF (gelöscht) kann 0xFE und danach auch 0xFC werden
(theoretisch, nicht getestet).

Möchte man dann ein Wert schreiben, der im Gegensatz zum Wert im Flash 
ein Bit gesetzt hat, müsste man diesen vorher erst löschen (0xFF).

Gruß

von Bernd (Gast)


Lesenswert?

Das beruhigt. Also kann man guten Gewissens auf 0xFFFFFFFF prüfen, um 
festzustellen, ob es "unprogrammed" ist und muss nichts weiter beachten.

von Adam P. (adamap)


Lesenswert?

Ein Blick ins Datenblatt wäre vllt. nicht so schlecht.
Meines Wissens nach, kann es Chip-Abhängig 0xFF oder 0x00 sein.

von Steffen R. (steffen_rose)


Lesenswert?

Bernd schrieb:
> Das beruhigt. Also kann man guten Gewissens auf 0xFFFFFFFF prüfen, um
> festzustellen, ob es "unprogrammed" ist und muss nichts weiter beachten.

Wenn der Flash mit einer ECC Checksumme geschützt ist, kann es Probleme 
geben. Im unprogrammierten Zustand ist diese auch unprogrammiert. Mit 
dem Schreiben von 0xFF wird diese jedoch geschrieben und kann nicht mehr 
geändert werden.

Am besten im Handbuch nachschauen unter welchen Umständen ein 
Überschreiben des Flash möglich ist und welche Muster erlaubt sind.

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.