сбрасывается ли EEPROM при загрузке нового кода?

У меня есть Nodemcu, с которым я делаю проект. Поэтому всякий раз, когда есть потери питания, я хочу, чтобы значения некоторых переменных не сбрасывались, из-за этого я пытаюсь сохранить значения в EEPROM nodemcu. Но проблема в том, что я хочу знать, будет ли EEPROM сброшен при загрузке нового кода, а также поскольку nodemcu хранит учетные данные Wi-Fi в EEPROM, я не хочу автоматически выбирать адрес EEPROM, в котором хранятся учетные данные Wi-Fi, и вызывать проблему. Может ли кто-нибудь сказать мне безопасные адреса EEPROM для использования, а также, получит ли EEPROM отдых, если будет загружен новый код?

, 👍0


1 ответ


Лучший ответ:

1

Микросхемы семейства esp не имеют EEPROM. Вместо этого они просто посвящают небольшую часть flash, чтобы притвориться EEPROM.

Этот раздел flash, в зависимости от основной версии, является либо выделенным разделом EEPROM, либо выделенным ключом в разделе nvram. В любом случае он отделен от учетных данных Wi-Fi, которые хранятся в их собственном ключе в разделе nvram.

EEPROM может быть стерт при загрузке кода, если макет раздела изменяется. Он менее вероятно будет стерт, если это более новая версия ядра, где он хранится в nvram.

Для безопасности не меняйте размер раздела и в идеале используйте ArduinoOTA, который никогда не изменит разделы или не сотрет nvram.

,

и в меню " Сервис "не устанавливайте" Стереть флэш-память " на "Все содержимое флэш-памяти"., @Juraj