Software Reset the 101

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;
}

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;
}