Hallo und Guten Abend, ich versuche gerade herauszufinden wie das genau mit dem .dseg funktioniert. Ich habe quasi zehn plus sechs Werte die ich gerne im Bereich ab 0x60 (also ich glaube im Datenbereich des Controllers) ablegen möchte. Um mein Programm zu testen habe ich die Daten erstmal mit Hilfe von : ldi R16, Wert1 sts 0x60, R16 ldi R16, Wert2 sts 0x61, R16 gespeichert. Im Simulator und auf dem realen Controller funktioniert das so wie es soll. Nun habe ich folgendes versucht : .dseg Data: .db 0x6f, 0x06, 0xab, 0x8f, 0xc6, 0xcd, 0xed, 0x07, 0xef, 0xcf, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 Ich arbeite mit dem neuen AVR Studio 5. Müssten in der Speicheranzeige nach dem Programmstart (im Simulator) nicht die entsprechenden Daten angezeigt werden? Der Controller funktioniert auch nicht so wie er soll. Wo ist da mein Verständnisproblem? Vielen Dank im voraus lg Torsten
.dseg ist SRAM, also flüchtig. Du kannst du Flash und EEPROM programmieren.
Deine Daten müssen in den Flash, also .cseg und dann mittels lpm laden. Es hindert dich auch keiner daran diese per Programm in den RAM (also dseg) zu kopieren.
Ah deswegen, okay - danke. Dann werde ich wahrscheinlich den EEPROM nutzen. So wie es aussieht kommen noch mehr statische Daten dazu, muss ich aber nochmal genauer überlegen. lg Torsten
G' Morgen, ich habe doch noch eine Frage. Mit welchem Programm kann ich denn eine hex-EEPROM Datei bearbeiten? Bzw. wie bekomme ich die gewünschte Informationen in eine Hex-Datei rein damit ich sie hochladen kann? lg Torsten
Dafür gibt es das .eseg ... siehe auch AVR-Tutorial hier auf der Seite http://www.mikrocontroller.net/articles/AVR-Tutorial:_Speicher
Ich hatte das ".eseg" im Quelltext drin, aber es wurde keine hex-Datei erzeugt. Muss ich das extra einstellen irgendwo?
Hi >Ich hatte das ".eseg" im Quelltext drin, aber es wurde keine hex-Datei >erzeugt. Muss ich das extra einstellen irgendwo? Die Hex-Datei für den EEPRM heisst 'xyz.eep'. MfG Spess
Dass sie auf ".eep" endet ist mir bekannt, sie wird dennoch nicht erzeugt. Ist es egal an welcher Stelle : // ******************************* // Daten im Speicher ablegen // ******************************* .eseg Data: .db 0x6f, 0x06, 0xab, 0x8f, 0xc6, 0xcd, 0xed, 0x07, 0xef, 0xcf, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 im Quelltext steht? lg Torsten
Hi >Ist es egal an welcher Stelle : ..... >im Quelltext steht? Ja. MfG Spess
Möglicherweise benötigst du wenigstens auch etwas Programmcode, hast nicht kompiliert, oder schaust im falschen Verzeichnis ;)
Nein, aber ich habe das Problem gelöst. Man muss es im neuen AVR Studio eben doch aktivieren, ich glaube das war in der 4er Version nicht so. lg Torsten
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.