I have a project with my Arduino 101 sealed inside of a chassis. Is there a way to software reset the 101 in the code?
with the uno it was: asm volatile (" jmp 0");
but the chipset on the 101 is obviously different. I can't find a solution, if one exist.
Thanks for the help.
DJ
You can try with this. I don't know if this will work or not because I don't have the 101, but I found this code in the source of the 101 RTOS.
void reboot(void){
SCSS_REG_VAL(SCSS_SS_CFG) |= ARC_HALT_REQ_A;
SCSS_REG_VAL(SCSS_RSTC) = RSTC_WARM_RESET;
}
Babamar
3
Here is the function to soft reset a 101. RedHunter provided the code, I only provide the defines and tested that it works.
#define SCSS_RSTC 0x570
#define RSTC_WARM_RESET (1 << 1)
void reboot(void)
{
SCSS_REG_VAL(SCSS_SS_CFG) |= ARC_HALT_REQ_A;
SCSS_REG_VAL(SCSS_RSTC) = RSTC_WARM_RESET;
}