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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Bernd (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
1 lesenswert
nicht 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)


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

Ja.

von Adam P. (adamap)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
1 lesenswert
nicht 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)


Bewertung
1 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.