Seriellen Flash Speicher löschen

Gast #4793988
>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?
Gast #4794679
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?
Gast #4794700
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.
Gast #4794816
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?
#4794849
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.