Hallo Forum, ich bitte um Hilfe zur Thematik EEPROM : Im Projekt werden 2 Zählerstände erzeugt durch Taster. Jedesmal wenn einer der Zähler inkrementiert wird, schreibe ich diesen geänderten Wert in eine EEPROM Zelle. Um die beiden Zählern mit Low- und Highbyte 0 zu beginnen müsste ich die 4 Zellen im EEPROM mit 0 setzen. Allerdings ist dies nur der Startwert, nach dem ersten Zählen ändert sich dies ja sofort. Was ich rausbekommen habe, kann ich nachfolgen .eseg das EEPROM beschreiben, aber dies möchte ich halt nur einmal tun. Kann man im AVR-Studio das eep-file entsprechend beschreiben ? Vielen Dank im voruas - Gruß Uwe
Was ich in solchen Fällen mache: Ich lass das EEP File links liegen. Viel zu viel Aufwand, mir das EEP File zu suchen, dem Brennprogramm mitzuteilen, dass es jetzt das EEP File doch schreiben soll, ev. die Fuses umstellen etc. Stattdessen kriegt mein eigentliches Programm ganz an den Anfang die Anweisung, in die bewussten Speicherzellen den Anfangswert zu schreiben, den ich gerne haben möchte. Das brenn ich ganz normal auf den µC und lass es laufen. Dann wird der Programmteil auskommentiert, erneut compiliert, gelinkt und auf den µC gespielt. Für ein Einzelstück ist das eine gangbare Lösung, die schneller erledigt ist, als du Piep sagen kannst. (Mann kanns auch umgekehrt machen: Einfach den Initialisierungsteil auskommentieren, der das erste mal den Wert aus dem EEPROM holt und statt dessen der Variable/Register den gewünschten Startwert geben. Programm laufen lassen und den Programmteil ausführen, der das EEPROM neu beschreibt.
Hi >aber dies möchte ich halt nur einmal tun. >Kann man im AVR-Studio das eep-file entsprechend beschreiben ? Ja, wenn ich dich richtig verstanden habe. .eseg Taster1: .dw 0 ; Setzt 2 Byte auf 0 Taster2: .dw 0 ; Setzt 2 Byte auf 0 .cseg .... Programm >Im Projekt werden 2 Zählerstände erzeugt durch Taster. Jedesmal wenn einer der Zähler inkrementiert wird, schreibe ich diesen geänderten Wert in eine EEPROM Zelle. Du solltest aber beachten, das EEPROM-Zellen nicht unendlich oft beschrieben werden können. MfG Spess
@ Karl heinz Buchegger : Die Idee finde ich gut, habe es probiert und es passiert folgendes : Nach dem Setzen des EEPROMS kommentiere ich die Zeilen aus und nach dem Übertragen ( nur hexfile ) steht wieder alles auf FF. Was kann ich falsch machen ? Ist eine Reihenfolge des flashens vorgeschrieben ( hex, eep )?
Wird vorm flashen der Chip gelöscht? ;) Ist nen Häkchen, das man schnell mal übersieht.
warum bebrennt ihr den neu? ich würde eine ganz eeprom-speicherzelle als flag benutzen. das programm "schaut" erstmal dort nach, ob etwas von 0x00 verschiedenes da steht, wenn nein, wird der eeprom-inhalt auf deine werte gesetzt, zum schluss das flag noch auf 0x00. und so muss man die firmware nur 1x neu drauf brennen. J0
Danke für die Antworten - das muß ich erst mal austesten. Klingt ja logisch. Gruß Uwe
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.