Restart programu
Moderátor: Moderátoři
void (*start_app)(void)=0;
start_app(); // predej rizeni hlavnimu programu (std. reset vektor)
Nasledne probehne start-up kod, ktery vymaze pamet a nastavi zasobnik a zavola main() ale zustane zachovano nastaveni registru periferii, na to je treba myslet, ze nekdy muze zustat naka periferie viset v divnym stavu a po takovem to resetu se jeji funkce neobnovi. Pokud chci ze SW skutecne resetovat cely MCU, tak pres watchdog. Je mozne si nadefinovat v linker skriptu sekci pameti typu no init, do ktere si lze schovat promenne, ktere se nemaji pri restartu smazat.