I want to implement software reset for MSP430F1611. I am using CrossStudio IDE. Is there any intrinsic function call for this like _software_reset()? I believe there is no SWI instruction for MSP. Can anyone guide me for this? Thanks in advance.
You can deliberately violate the WDT or Flash security key to cause a PUC. For example:
WDTCTL=0; // mov.w #0,&WDTCTL;
or
FCTL1=0; // mov.w #0,&FCTL1;
Doing so will cause a PUC which has the following effects:
WDTIFG or KEYV will be set to 1.
All register bits that are marked with -0 in the User’s Guide will be cleared to 0.
All register bits that are marked with -1 in the User’s Guide will be set to 1.
PC will be loaded with the content of 0xFFFE-0xFFFF (Reset vector) which causes the c-startup code or your own assembly startup code to be executed next.