Guten Abend
Bin gerade dabei, einen Bootloader (Atmegazu entwickeln.
In einem AVR-Buch habe einen Code zum löschen des Programmspeichers
entdekt.
Tja dieser Code löscht zwar den Speicher, aber jede Page 2x (das 2xCode:NextPage: ldi temp, 0x03 ; out spmcr, temp ;Programmspeicher/Löschmodus aktivieren spm ;Page löschen starten WaitSpm: in temp, spmcr ; sbrc temp, spmen ;warten bis Sreibaktion..... rjmp WaitSpm ;beendet ist adiw zl,32 ;nächste Seiteadresse (Adresse=Adresse+32).... rjmp NextPage ;löschen next Page
wird Page nicht kommplett gelöscht)!!
Wenn ich 64 zu zl addiere (geht mit adiw natürlich nicht) wird jede
Seite nur 1x gelöscht!
Der Atmega 8 hat zwar pro Page 32Words also 64Bytes, ricchtig??
Wie kommt der Autor des Buches dann auf +32???
Habe das ganze nur mit AVR-Studio 4 simuliert --> nicht das es am
AVR-Studio liegt.
Vielleicht bringt mal jemand etwas licht ins dunkle, thanks.







Zitieren

Lesezeichen