PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ATMega32 - EEPROM für Programme nutzen



MasterFX
07.04.2006, 08:36
Ist es möglich, dass ich meine C-Programme so Compiliere, dass ich die direkt in den EEPROM schreiben kann und diese dann auch nach dem Reset ausgeführt werden? Oder muss ich den Resetvektor dann verbiegen? Wäre ja auch nicht so schlimm. Aber was muss ich dann beim Compiler (avr gcc) oder sonst wo einstellen? Ich habe keine Lust nur für so kleine Testprogramme meine "nur" 10000 Schreibzyklen für den Flash zu verschwenden. Der EEPROM verträgt ja das 10fache.

xanadu
07.04.2006, 10:40
Das versteh ich nu nicht. Ist das jetzt sportlicher Ehrgeiz?

Wenn Du halbwegs clever programmierst, dann machst Du doch bestenfalls alle 10 Minuten ein Upload, das sind 6 pro Stunde. 10000/6=1667, 1667/24=69,5. Das heisst, Du kannst fast 70 Tage am Stück ununterbrochen programmieren.

Danach gehst Du eine Stunde kellnern und verdienst Dir das Geld für einen neuen Mega32 ;-)

Aber zur eigentlichen Frage: ich würd mir da keine Hoffnungen machen, dass du den ProgrammCounter ind das EEPROM verbogen bekommst.

ogni42
07.04.2006, 10:55
Der AVR besitzt eine sog. Harvard Architektur: Programm und Datenspeicher sind getrennt (FLASH - RAM). Das EEPROM ist ein weiterer Datenspeicher. Programmcode kann nur aus dem Programmspeicher (FLASH) heraus ausgeführt werden.

Wenn Du also ein Programm im EEPROM ablegst, müssen die einzelnen Operationen erst in den Flash-Speicher geladen (geflasht) werden.

MasterFX
07.04.2006, 14:25
Ok dann werde ich mal alle 10 Minuten flashen :-).
Und da xanadu schon so klever gerechnet hat. Dann sollte ich ab jetzt pro Tag 10 cent zurücklegen, damit ich nach 70 Tagen genug Geld für nen neuen habe :-D.