D a v i d K. schrieb:
> Sinnvoll ja, aber ich wollte wissen, ob µC ohne diesen Vektor
> "aussteigen".
Wenn ein µC keinen WDT hat, dann kann er auch keine entsprechende IRQ
erhalten. Außerdem sollte die Initialisierung des Chips im MCUSR o.ä.
abhängig vom Chip stattfinden, weil des Layout, Adresse bzw.
Vorhandensein dieses SFRs (wie bei allen anderen SFRs auch) prinzipiell
vom µC abhängt.
> (Es wird nur Platz verschwendet?)
Mit -ffunction-sections -Wl,--gc-secions wird die Routine entfernt:
Weil WDT_vect als Identifier interpretiert wird, falls es nicht als
Makro zu __vector_N definiert ist, wird eine Funktion "WDT_vect"
erzeugt, und diese wird nirgends referenziert — auch nicht von der
Vectab.
Jörg W. schrieb:
Nitpick:
> 2) ISR() ist ein Makro, der (kurz gesagt) eine neue Funktion deklariert
> und einleitet. Die kann letztlich einen x-beliebigen Namen haben. Der
> Compiler hat lediglich eine eingebaute Heuristik, die am Ende für
> irgendwelche auf _vect endende Namen eine Warnung "may be a misspelled
> signal handler" (oder so ähnlich) ausspuckt, [...]
Geprüft wird auf Präfix "__vector"; es wir ja erst nach dem Präprozessor
getestet.