f0844a15aff390929d70bd9829b8ccbc724262ff
Плата имеет физически 2 МБ флеша, в IDE было выбрано 4MB (FS:2MB). При этой раскладке сектор EEPROM лежит по смещению 0x3FB000, а начало LittleFS — по 0x400000, тогда как чип заканчивается на 0x200000. Обе области вне микросхемы, поэтому spi_flash_erase_sector() проваливался и EEPROM.commit() возвращал false. Лечится настройкой Flash Size = 2MB (FS:128KB OTA:~960KB), а не кодом: любая раскладка 2MB кладёт файловую систему ниже 0x1FB000, а EEPROM в сектор 511. С верной настройкой работали бы оба механизма хранения. Ранее записанная в README гипотеза про «щель между FS и областью SDK» была неверной и заменена подтверждённым разбором. Переход на LittleFS остаётся оправданным по своим качествам, но проблему решает настройка IDE — в документации это разделено явно, чтобы не ввести в заблуждение при похожем симптоме на другой плате. Документация исправлена: плата 2 МБ, а не 4 МБ; требование совпадения выбранного размера с физическим; предупреждение о потере учётных данных Wi-Fi при смене раскладки. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Description
No description provided
685 KiB
Languages
C++
58.5%
C
41.5%