Forum: Mikrocontroller und Digitale Elektronik Seriellen Flash Speicher löschen


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 Flash (Gast)


Bewertung
-2 lesenswert
nicht lesenswert
Hallo,

ich habe hier einen NOR Flash vom Typ Micron, N25Q032.

Was muss ich tun, um diesen Flash wieder zu löschen?
Irgendwie klappt es mit meinem Timing noch nicht so ganz...

Hat jemand einen Vorschlag?

mfg und Danke

von Christian M. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ins Wasser werfen...?!

Gruss Chregu

von holger (Gast)


Bewertung
1 lesenswert
nicht lesenswert
>Was muss ich tun, um diesen Flash wieder zu löschen?
>Irgendwie klappt es mit meinem Timing noch nicht so ganz...

Das steht doch im Datenblatt.
Und wenn du schon Code hast, warum zeigst du ihn dann nicht?

von Christian R. (supachris)


Bewertung
0 lesenswert
nicht lesenswert
Kannst du denn mit dem Flash kommunizieren? Also erst mal ID auslesen? 
Ist ja immer erst mal Mode 0 oder 3 bei SPI. Wenn das klappt, Bulk Erase 
Komando rein schieben und warten. WP Pin nicht vergessen!

von Flash (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Eine Frage noch:

In einigen Befehlen muss die CS Leitung runtergezogen werden und wohl 
nach dem Befehl wieder auf high.

Was muss ich denn mit der CS Leitung tun, wenn die eigentliche 
Übertragung vollzogen wird?

Nach dem Befehl wieder auf Low und dann DummyBytes schicken, damit ich 
eine Antwort erhalte, oder auf high lassen und einfach so Dummy Bytes 
rausschicken?

von Jens D. (jens) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Das sollte im Datenblatt stehen.
Normal liest du gleich die Daten ein (durch senden der "Dummy Bytes" 
ohne CSn zu toggeln.

Jens

von SPI-Lehra (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Flash schrieb:
> Nach dem Befehl wieder auf Low und dann DummyBytes schicken, damit ich
> eine Antwort erhalte, oder auf high lassen und einfach so Dummy Bytes
> rausschicken?

Alleine die Logik sollte schon hervorbringen dass der Chip
wissen muss ob er Daten senden darf oder nicht. Dies geschieht
unter anderem mit dem CS der auch den MISO Output Enable des
Chips steuert. Er bringt im inaktiven Zustand den Ausgang in den
Tristate damit andere SPI Teilnehmer auch Daten hergeben können.

Das heisst, ohne aktiven CS bekommt man nicht die Daten die man
erwartet.

von Flash (Gast)


Bewertung
0 lesenswert
nicht lesenswert
ok,

Etwas konkreter:
Wie aber mache ich einen Subsector erase?

Ich lege
CS low
WREN_Command
CS high

dann
CS low
0x20 (Subsector erase Command)
0x00 0x00 0x00 (Von Adresse 0 möchte ich beginnend löschen)


Nun ist die große Frage, ein Subsector umfasst 256 Bytes. Muss ich nun 
256 Bytes ein FF Dummy auf MOSI rausschicken, um die Clockaktiv zu 
halten, oder einfach nur abwarten, bis die Bytes in dem Subsector 
gelöscht sind?

Muss ich als Dummy Werte ein FF schreiben, oder setzt  das Flash bei dem 
Löschen sowieso die 0xFF Werte, selbst wenn ich 0x00 als Dummy schicke?

Was passiert, wenn ich als Startadresse nicht "0" wähle, sondern "1", 
wendet das Flash den Befehl automatisch für alle Bytes 0 bis 255 an?

von Pandur S. (jetztnicht)


Bewertung
0 lesenswert
nicht lesenswert
Was steht im Datenblatt ? Weshalb sollern wir fuer dich das Datenblatt 
lesen ?
Falls etwas nicht steht - ausprobieren.
Allenfalls : Weshalb loeschen, wenn man's mit neuer Werten 
ueberschreiben kann ?

: Bearbeitet durch User
von SPI-Lehra (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Oh D. schrieb:
> Allenfalls : Weshalb loeschen, wenn man's mit neuer Werten
> ueberschreiben kann ?

So so, Flash mit neuen Werten überschreiben .....

Bei WOM (Write-Only Memory) geht das.

von Pandur S. (jetztnicht)


Bewertung
0 lesenswert
nicht lesenswert
Die Flash, die ich kenne, haben einen Loesch befehl.
Steht im Datenblatt.
Wenn da keiner steht, wird's wohl keinen brauchen.
Und wenn er im Datenblatt steht, muss man's ja nur so machen wie's 
steht.

allenfalls muss man mehr als 2 Minuten drueber nachdenken.
Ich hab auch einen abend gebraucht, bis ich's implementiert hatte.

: Bearbeitet durch User

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.