Hallo, ich brauche Eure Hilfe bei der Ansteuerung des internen Speichers eines STM32. Ziel ist es, einmalig eine variable Zeichenkette (maximal 128 Zeichen) abzuspeichern. Diese Information soll dann später wieder ausgelesen werden können. Ich würde mich über ein C-Code-Beispiel freuen. Wie wird der Flash-Speicher initialisiert/reserviert? Wie kann ich ein byte (bzw. einen Block) schreiben? Wie lautet ein read-Befehl. Wie lautet ein "Ready-Status-Befehl"? (oder ähnliches - falls vorhanden) Wer kann mir helfen? Vielen Dank schon mal!!!!
Im STM32F10xxx Flash programming manual ist ja alles ausführlich beschrieben – nur leider fehlt hier ein einfaches praktisches code-Beispiel für Einsteiger! Ich kann leider daraus nicht so schnell was ableiten. Gibt es schon fertige Bibliotheken/Funktionen? Zum ansprechen des EEPROM eines Atmega128 genügen mir das Einbinden der Bibliothek:
1 | #include <avr/eeprom.h> |
Zum Schreiben verwendet man die Funktion:
1 | eeprom_write_byte((u8 *)(addr), wr_data); |
Zum Lesen diese Funktion:
1 | rd_data = eeprom_read_byte((u8 *)(addr)); |
und die ready-FKT:
1 | while (!eeprom_is_ready()); |
Und das war`s im Prinzip!!! Wie lautet ein einfaches Beispiel analog zum Flash-Speichers eines STM32-F103?
Hallo Torsten, die STM32F10x haben kein EEPROM, von daher gehts auch nicht so einfach wie in deinem Beispiel vom AVR. Aber ich kann dir nur empfehlen mal bei ST auf der Seite deines Controllers im Bereich "Design support" zu stöbern. Da gibt es viel Programmbeispiele. Unter anderem das hier: http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00165693.pdf Damit kann man wohl ein EEPROM im STM32 nachbilden. Ein Zip-File mit dem ganzen Projekt (Sourcecodes/Projekteinstellungen/etc.) gibts dort auch. Vielleicht hilft dir das. Gruß Rainer
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.