Guten Abend Bin gerade dabei, einen Bootloader (Atmega 8) zu entwickeln. In einem AVR-Buch habe einen Code zum löschen des Programmspeichers entdekt. 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 Tja dieser Code löscht zwar den Speicher, aber jede Page 2x (das 2x 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.
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.