Bonjour
Effectivement, la solution qui passe pour être la plus propre consiste à utiliser le watchdog
Mais même pour la solution "crade" il n'est pas nécessaire de descendre dans le barbarisme de l'assembleur. La même chose peut être codée en C standard
void(* reboot) (void) = 0;//déclarer une fonction reboot qui pointe vers l'adresse 0 de la flash
...
//plus loin dans le code
reboot();