Zitat Zitat von Besserwessi
Das einzige was noch einigermaßen geht ist zum Reset zu springen und komlett neu zu Starten, allerdings mit den alten Werten in den globalen Variablen, sofern die nicht initialisiert werden.
Bei einem Sprung zum Resetvector wird der gleiche C-Startup-Code ausgeführt, wie bei einem "echten" Reset. Bezüglich der C-Umgebung macht das absolut keinen Unterschied, also hat man nicht die alten Werte in den globalen Variablen (außer natürlich man hat sie explizit in die noinit-Section gelegt). Es macht allerdings einen Unterschied bei den Hardware-Registern.