core esp8266 update to 3.1.2 and OTA stopped working Unhandled C++ exception: OOM #376
Unanswered
giselybelloadur
asked this question in
Q&A
Replies: 1 comment 5 replies
-
It is out of memory error. |
Beta Was this translation helpful? Give feedback.
5 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I have been using the esp8285 in a commercial project for a few years now and have always updated the firmware OTA. However, after flashing the esp8285 with firmware in board version 3.1.2, it is no longer possible to update the firmware over OTA. The error below occurs:
14:00:00.916 -> User exception (panic/abort/assert)
14:00:00.916 -> --------------- CUT HERE FOR EXCEPTION DECODER ---------------
14:00:00.916 ->
14:00:00.916 -> Unhandled C++ exception: OOM
14:00:00.916 ->
14:00:00.916 -> >>>stack>>>
14:00:00.916 ->
14:00:00.916 -> ctx: cont
14:00:00.916 -> sp: 3ffffc90 end: 3fffffd0 offset: 0010
14:00:00.916 -> 3ffffca0: 3ffe9540 4020c3d4 00000010 4022883c
14:00:00.963 -> 3ffffcb0: 3fff0704 4010bd94 3ffffd20 4020c380
.... etc
last failed alloc call: 4020CF84(16)
--------------- CUT HERE FOR EXCEPTION DECODER ---------------
last failed alloc caller: 0x4020cf84
If you downgrade to version 3.1.0 and earlier, this error does not happen, and the firmware update via OTA proceeds normally.
There are hundreds of devices installed with board version 3.1.2 and now I can't update them over OTA anymore. Please help me to resolve. What to do?
//###############################################################################
//esp8266 boards 3.1.2
//board: Generic ESP8285 Module
//flash size: 2MB(FS:64KB OTA:~992KB)
//MMU: 16KB cache + 48KB IRAM and 2 Heap(shared)
//###############################################################################
//libraries:
#include <ESP8266WiFi.h>
#include <Firebase_ESP_Client.h> // 4.3.20
#include <addons/TokenHelper.h>
#include <WiFiClientSecure.h>
#include <ESP8266httpUpdate.h>
void FirmwareUpdate(String URL_fw_Bin)
{
#if(DEBUG_PRINT==1)
Serial.println("New firmware detected");
#endif
WiFiClient client;
BearSSL::WiFiClientSecure UpdateClient;
UpdateClient.setInsecure();
}
Beta Was this translation helpful? Give feedback.
All reactions