Gast
#4431747
Hallo, ich habe hier einen SST25 von Microchip. Die Lese-Funktion ist Ok,(bestätigt durch ReadChipId()). Die Löschfunktion für die Sektoren geht auch (nach jedem Aufruf stehen 0xFF im Speicher). Die Schreib-Funktion geht bei folgendem Szenario (scheinbar): 1. Initialisierung des SPI 2. Löschen des Sektors 3. Schreiben von ein paar Bytes 4. Lesen der Bytes Danach stehen immer die richtigen Bytes im Lese-Puffer (welcher zuvor mit Nullen initialisiert wurde). Und jetzt wirds merkwürdig: Wenn ich nun 2. und 3. entferne, das Ganze neu compiliere/linke und aufspiele (STM32F107), dann gibt mir die Lese-Funktion nur 0xFF zurück. Und das obwohl doch zuvor bereits die richtigen Werte aus dem Flash gelesen wurden. Ich kapier das einfach nicht. PS: Mit dem Logic-Analyzer sieht man übrigens, wie er zunächst die Bytes in den Flash reintaktet und auch wieder korrekt ausliest. Nach dem Neuerstellen liest er dann nur noch 0xFF, was man dann ebenfalls sieht. Ich könnte hier jetzt den ganzen Mist reinstellen, aber ich fürchte das ist dann soviel, dass sich das sowieso keiner ansieht. Deshalb zunächst mal die Frage, ob jemand mit diesen Flash-Speichern schoneinmal ähnliche Probleme hatte und wie er das dann gelöst hat? Danke und Gruß Pit