-
Notifications
You must be signed in to change notification settings - Fork 13.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WiFi.begin() causes exception 3 #7373
Comments
Try adding |
Doesn't help. But thx for the Info about 3.0.0 |
Try to use the "erase all flash" option, and one of the WiFi shipped examples. |
Thx very much! PIO has an |
When flashing a new sketch to a device, you must always erase the flash. Closing, because the issue is already being covered in #6965. |
Okay, I'm curious now. I'm pretty sure this is wrong and you meant when using different SDK versions or different flash layout (spiffs), right? In my case, since I rarely update the wifi config, it may actually have been written by an older SDK version and then just saving new credentials into the old struct by the new code with potential new SDK may have caused the issue... But this is just speculation.
I'm not using OTA in this case, but I'm curious what the consequences are. I do have devices I have to update via OTA because their headers aren't easy accessible...
I'll have a deeper look into that and report back. However, as said, that's not an OTA only problem, so I don't know how this would help in any cases... Is there a documentation of this configuration section? Is there a way to dump it? |
I long ago lost count of how often users open issues stating crashes or connection issues, and then an erase flash fixes the problem for them. The golden rule is: if you update a sketch, e. g. bug fixes, etc, it should be ok to not erase If you flash a new sketch, i. e. different from the previous, or if you change core version (implies potential sdk version change), then you have to erase flash. |
I don't know what espressif has done there. but the usual way is to add a checksum and version to the data, so the sdk can actually know if the data is valid and otherwise rebuild it (once) 🙄 |
Basic Infos
Platform
Settings in IDE
platformio.ini
Problem Description
WiFi.begin()
causes exception 3 (LoadStoreErrorCause: Processor internal physical address or data error during load or store)MCVE Sketch
Debug Messages
I haven't found a way to decode the stacktrace using PlatformIO, sorry.
Using this works:
Output:
This is not the first time I encounter this issue... I rarely use WiFi.begin() in my code because all my ESPs are configured correctly for my wifi. But today I accidentally flashed code with WiFi.begin() and wrong credentials and now I'm unable to recover. I had the same issue few weeks ago and after hours of flashing different stuff using different software (NodeMCU flasher etc.) and different flash layouts it finally recovered, but I don't know what exactly helped.
I know that there are similar issues like #1997 but they are either old, closed or refer to much more complex code using WifiManager etc...
The text was updated successfully, but these errors were encountered: