PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : eeprom zugriffe fürs schreiben in Flasch???



albi1989
24.02.2008, 14:48
Kann sich von euch jemand vorstellen warum man in einem Programm EEPROM schreib rechte abfragen sollte das eig nur Daten vom RAM ins Flash schreiben soll ?

hier mal ein auszug


floop1:

sbic IO_REG(EECR), EEPE // eeprom zugriffe?
rjmp floop1

;flash page immer erst löschen flash-adresse im x-register

ldi temp1, (1<<SELFPRGEN) | (1<<PGERS)
rcall flash_wait // warte bis fertig

;counter init

ldi temp2, (SPM_PAGESIZE/2)
// wir schreiben immer 2byte = 1word


;inhalt vom ram ins flash kopieren

flash_fill:
ld r0, Y+ // zwei byte aus dem ram holen
ld r1, Y+
ldi temp1, (1<<SELFPRGEN) // steuerbit
rcall flash_wait // warte
dec temp2 // zähler dekrementieren
breq floop2 // 0=fertig kopiert
adiw ZL, 2 // auf nächste adresse zeigen
rjmp flash_fill // und weiter

;flash-adresse zurückholen

Es handelt sich hierbei um einen Boot6loader für den ATmega168

MFG ALBI

Besserwessi
24.02.2008, 19:27
So genau habe ich die Datenblätter nicht studiert, aber ich könnte mir vorstellen, das es Probleme gibt wenn gleichzeitig ins EEPROM und FLASH geschrieben wird. Die beiden Teile könnten sich Teile der Hardware teilen.