eeprom zugriffe fürs schreiben in Flasch???
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
Code:
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