Hallo,
ich spiele gerade mit dem Watchdog meines mega1284p.
Beim Durchlesen des Wikiartikels ist mir folgender Satz aufgefallen:
1 | Außerdem bietet der WD die einzige Möglichkeit einen beabsichtigten System-Reset (ein "richtiger Reset", kein "jmp 0x0000") ohne externe Beschaltung auszulösen
|
Was ist denn da der Unterschied?
Ok, schon klar. Bei einem "richtigen" Reset geschieht das über den RESET
Interrupt.
Aber in der Praxis dürfte das (zumindest beim gcc) keinen Unterschied
machen oder?
Denn ab Adresse 0 beginnt ja der StartUp Code.
Also das Löschen des Rams und Initialisieren des Stacks etc.
Es bleibt also keine Information des vorherigen Betriebs übrig, der uC
sollte sich verhalten wie nach einem "Kaltstart" richtig?
(Ich bin in der ganzen Assembler Geschichte nicht wirklich bewandert.
Bin letztens erschrocken dass mein leeres C Projekt bereits über 100
Byte Flash frisst und wollte mir dann doch mal anschaun, was da genau
passiert.)
Oder gibts in der Praxis doch noch Unterschiede zwischen jmp 0x0000 und
dem RESET Interrupt?
Grüße,
der c-ler