Skip to content

In SDK v3.2.0, EEPROM.begin() sometimes fails after a reboot(need to call EEPROM.begin() again). This issue doesn't occur in SDK v1.0.6 #11435

Open
@mightChamp

Description

@mightChamp

Board

ESP32

Device Description

ESP32 Devkit

Hardware Configuration

No Hardware Configuration, only reading Internal Flash EEPROM.

Version

v3.2.0

IDE Name

Arduino IDE

Operating System

Windows 11

Flash frequency

80MHz

PSRAM enabled

no

Upload speed

921600

Description

In SDK version v3.2.0, the EEPROM.begin() function intermittently fails when called after a device reboot. This behavior does not occur in SDK v1.0.6, where EEPROM.begin() works reliably under the same conditions.

Sketch

#include <EEPROM.h>

#define EEPROM_SIZE 4000

void setup() {
  Serial.begin(115200);

  if (!EEPROM.begin(EEPROM_SIZE)) {
    Serial.println("EEPROM.begin() FAILED!");
  } else {
    Serial.println("EEPROM.begin() succeeded.");
  }
}

void loop() {
  ESP.restart();  // Reboot the device to observe if EEPROM.begin fails after reboot
}

Debug Message

EEPROM.begin() succeeded.
EEPROM.begin() succeeded.
EEPROM.begin() succeeded.
EEPROM.begin() succeeded.
EEPROM.begin() succeeded.
EEPROM.begin() succeeded.
EEPROM.begin() FAILED!
EEPROM.begin() succeeded.
EEPROM.begin() succeeded.
EEPROM.begin() succeeded.
EEPROM.begin() succeeded.
 and so on...

Other Steps to Reproduce

Run This is both SDK 3.2.0, and SDK 1.6.0

I have checked existing issues, online documentation and the Troubleshooting Guide

  • I confirm I have checked existing issues, online documentation and Troubleshooting guide.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions