Hallo, wenn ich einen atmega162 bei dem die BOOTRST Fuse aktiviert ist durch den Watchdog reseten lasse, faengt er dann bei der Application Section an oder in der Bootloader Section? Ich habe das Gefuehl, dass es bei der Application Section weitergeht, da ich verschiedene Init Sachen im Bootloader habe, der Prozessor aber nachdem er aus dem Sleep Mode aufwacht und erstmal ein (gewolltes) Reset durch den watchdog durchfuehrt, nicht mehr richtig funktioniert (scheint I/Os nicht mehr richtig zu verarbeiten). Schaltet man ein / aus, so dass es sicher beim Bootloader losgeht, oder packt man die Init Sachen sowohl in Bootloader als auch Anfang der Application Section funktioniert alles einwandfrei. Falls meine Annahme richtig ist, und der avr in der Application Section loslegt, wie kann man ihn softwaremaessig dazu bringen beim Bootloader anzufangen? Ich habe folgendes versucht: asm volatile( "ldi r30, lo8(0x1E00)"); asm volatile( "ldi r31, hi8(0x1E00)"); asm volatile( "ijmp"); Zwar findet irgendein Neustart statt, aber es geht nicht beim Bootloader los wie mir scheint. Wo liegt der Fehler ? Danke fuer jegliche Hinweise, ~stefan
Reset fängt immer dort an, wohin der Reset-Vektor zeigt, egal wodurch der Reset ausgelöst worden ist.
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.