Ich habe festgestellt, dass das AT25-Flash beim Blockerase nicht das tut was ich erwarte, dadurch fehlen Daten nach dem Schreiben.
Nur wenn ich ein Chip-Erase mache klappt das Schreiben neuer Daten, bei Block-Erase scheine ich etwas falsch zu machen.
Ich versuche mit AT25_32kb_erase zu löschen.
Als Adresse geben ich (blockno*32768) ein, das klappt auch für 2 Blocks, dann ist Ende.
Blockcount:=5;
AT25_reset;
AT25_unprotect_all;
for i:= 1 to BlockCount do
AT25_32kb_erase((blockcount-1)*32768));
endfor;
Das scheint aber nicht zu funktionieren, laut Handbuch müsste es aber so korrekt sein.
Weiß jemand wie man mit dem AT25xx-Flash korrekt Blöcke löschen kann?
Nur wenn ich ein Chip-Erase mache klappt das Schreiben neuer Daten, bei Block-Erase scheine ich etwas falsch zu machen.
Ich versuche mit AT25_32kb_erase zu löschen.
Als Adresse geben ich (blockno*32768) ein, das klappt auch für 2 Blocks, dann ist Ende.
Blockcount:=5;
AT25_reset;
AT25_unprotect_all;
for i:= 1 to BlockCount do
AT25_32kb_erase((blockcount-1)*32768));
endfor;
Das scheint aber nicht zu funktionieren, laut Handbuch müsste es aber so korrekt sein.
Weiß jemand wie man mit dem AT25xx-Flash korrekt Blöcke löschen kann?