AVR Studio 4, Atmega8, AVR-Tutorial Kapitel EEPROM http://www.mikrocontroller.net/articles/AVR-Tutorial:_Speicher In dem Kapitel zum Speicher stehen mehrere Beispielprogramme. Teil 1: Es wird ein Text im Programmspeicher abgelegt: Beispielprg. aus dem Tutorial: *** ... out UDR, r16 ret ; Konstanten werden hier im Flash abgelegt text: .db "AVR-Assembler ist ganz einfach",10,13,0 ; Stringkonstante, durch eine 0 abgeschlossen ; die 10 bzw. 13 sind Steuerzeichen für Wagenrücklauf und neue Zeile **** Schaue ich mir nun im Debugger Memory an, speziell den Programmspeicher, so erkenne ich im HEX-Editor, wenn ich die Zeichen daneben noch anzeigen lasse - an einer Stelle im Speicher den Text "AVR-Assembler ist ganz einfach" Teil 2: Wie in Beispiel 1 wird ein Text im Speicher abgelegt, jedoch diesmal nicht im Programmspeicher, sondern im EEPROM. Beispielprogramm: ***** ... ret ; hier wird der EEPROM-Inhalt definiert .ESEG text1: .db "Strings funktionieren auch ", 0 text2: .db "im EEPROM",10,13, 0 *** Ende Programm Nun gehe ich davon aus, dass der Inhalt unter den Speicheradressen text1 und text2 im EEPROM gespeichert wird und ich war irgendwie der Ansicht, dass ich den Text "Strings funktionieren auch..." im Speicherfenster des EEPROMS sehen würde - aber das ist nicht der Fall, schaue ich mir im Debugger das Memory an, dann sind alle Werte dort auf "FF"? Wo ist vielleicht grade mein Denkfehler?
einfaches Beispielprogramm: .include "m8def.inc" .cseg Data0: .db "Text im Programmspeicher" .dseg .eseg Data1: .db "This is a Text" Das EEPROM ist einfach leer, der Text "This is a text" steht einfach nicht im EEPROM, aber "Text im Programmspeicher" ist im Programmspeicher im HEX-Editor zu sehen.
Hast du nach dem Assemblieren auch die .eep Datei mit dem EEPROM Inhalt in den AVR geflasht? "Wenn man dieses Programm assembliert, erhält man außer der .hex-Datei noch eine Datei mit der Endung .eep. Diese Datei enthält die Daten aus dem EEPROM-Segment (.eseg), und muss zusätzlich zu der hex-Datei in den Controller programmiert werden." aus AVR-Tutorial: Speicher
Der Assembler erzeugt eine eigene Datei mit der Endung EEP für den EEPROM Inhalt. Der Simulator lädt das aber nicht automatisch. Du musst es extra in den Simulator laden. (Studio 4: Debug - Up/Download Memory)
Karl Heinz Buchegger schrieb: > Der Assembler erzeugt eine eigene Datei mit der Endung EEP für den > EEPROM Inhalt. > Der Simulator lädt das aber nicht automatisch. Du musst es extra in den > Simulator laden. (Studio 4: Debug - Up/Download Memory) Hey cool - danke für die Antwort noch zu so später Stunde. Jetzt hat es funktioniert, ich sehe meinen Text im EEPROM-Fenster und bin glücklich :-)
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.