Difference between ESP.restart and hardware reset (ESP32)
Posted: Tue Mar 08, 2022 3:13 pm
Hello,
I have a problem with self-developped and self-built devices based on a NodeMCU 32s.
My devices contain a cryptochip (ATECC608A) that I use for signing and verifying signatures.
Most of the time everything works with problems. However sometimes the ATECC608A will not produce any signatures due to circumstances I have not discovered yet. Sometimes means the devices will run for a month or even several months and then stops working.
I have tried to restart the device via ESP.restart, but unfortunately the crypto chip still does not function properly, it is still unable to sign messages. However if I switch the device off (by cutting the device from power) and on again then everythings working without problems.
But I prefer to solve this issue by software. Can anybody tell me what could go wrong here? What is the difference between a ESP.restart and a hardware reset? How could I solve my problem?
The code is written in C++ using the PlatformIO platform. I am still running version 3.0.0 of the espressif-framework, since I had problems in switching to 3.1.0 and have not bothered to update since then.
Hope you can shed some light on this problem.
Thanks for reading/commenting,
Rudi
PS: Since I cannot reproduce this issue and it arises so seldom I'd prefer not to update any libraries/frameworks unless somebody tells me that my problem will certainly fixed by updating - otherwise I will just spend a lot of time for nothing.
I have a problem with self-developped and self-built devices based on a NodeMCU 32s.
My devices contain a cryptochip (ATECC608A) that I use for signing and verifying signatures.
Most of the time everything works with problems. However sometimes the ATECC608A will not produce any signatures due to circumstances I have not discovered yet. Sometimes means the devices will run for a month or even several months and then stops working.
I have tried to restart the device via ESP.restart, but unfortunately the crypto chip still does not function properly, it is still unable to sign messages. However if I switch the device off (by cutting the device from power) and on again then everythings working without problems.
But I prefer to solve this issue by software. Can anybody tell me what could go wrong here? What is the difference between a ESP.restart and a hardware reset? How could I solve my problem?
The code is written in C++ using the PlatformIO platform. I am still running version 3.0.0 of the espressif-framework, since I had problems in switching to 3.1.0 and have not bothered to update since then.
Hope you can shed some light on this problem.
Thanks for reading/commenting,
Rudi
PS: Since I cannot reproduce this issue and it arises so seldom I'd prefer not to update any libraries/frameworks unless somebody tells me that my problem will certainly fixed by updating - otherwise I will just spend a lot of time for nothing.