This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LAUNCHXL-CC2640R2: How to completely reset the device via software

Part Number: LAUNCHXL-CC2640R2

Hi,

I am developing a custom application based on project zero. I am using my custom hardware that does not have a button connected to RESET pin of the device. I need to be able to reset the device when a button is pressed for more than 3 seconds. I have setup the interrupts and I can detect the that the button has been pressed for 3 seconds. However, I need to know a function that can reset the system similar to how the system reset when I press the RESET button on the CC2640R2-LAUNCHXL eval board.

I have used the following APIs for the system reset:

1. HAL_SYSTEM_RESET();

2. SysCtrlSystemReset();

Both are able to successfully reset the CC2640R2-LAUNCHXL board that I have. However, the same functions are not able to reset my custom hardware. I have programmed an LED to be switched on when the device powers on. In launchxl, the led switches back on (however, I couldn't notice it but I can verify as the Bluetooth connection disconnected and showed again as advertising). On my custom board, the LED switches off and apparently the device goes into an unknown state.

Note: I also tried to use Power_shutdown(NULL, NULL) but in that case the LAUNCHXL board was also not rebooting properly.

Please let me know how to narrow down the problem as I can't just use the debugger at that time. I disconnect the debugger when checking for reset as I know the behaviour is different when connected to the debugger.

I have not added any OAD code in my application at this time. There is no BIM code being uploaded to the device. All I need to do is be able to reset the device on a certain event (in my case, when a switch is pressed for more than 3 seconds)