Понимание OTA-обновлений ESP8266: вопрос об ограничениях

В настоящее время я изучаю OTA-обновления для прошивки ESP8266, и у меня есть вопрос, на который я не нашел ответа:

Вопрос: Ограничено ли количество ОТА-обновлений? Согласно документации, в ней говорится: "Flash Размер чипа должен быть достаточно большим, чтобы одновременно вместить старый скетч (работающий в данный момент) и новый скетч (OTA)." Означает ли это, что старый скетч всегда остаётся, и с каждым новым обновлением предыдущие версии продолжают существовать? Если да, означает ли это, что после нескольких обновлений флэш-память в конечном итоге заполнится, что предотвратит дальнейшие обновления?

Спасибо за помощь.

, 👍3


2 ответа


2

Ни одно обновление не заменяет самое старое (если оно присутствует), поэтому во флэш-памяти всегда может быть не более двух версий

,

0

Это утверждение учитывает в основном две причины:

  1. Для OTA-обновления требуется полный скетч, который выполняет обновление. Перезапись работающего скетча с помощью обновления почти во всех случаях приводит к сбою.
  2. ОТА-обновление может быть прервано или выйти из строя, поскольку беспроводное соединение, как известно, ненадежно. После таких событий устройству необходим рабочий скетч.

Поэтому устройство сохраняет новый скетч в пространстве, отдельном от старого.

Но как только кнопка "загрузить" завершен и, надеюсь, проверен (с помощью хеша или других средств контрольной суммы) на отсутствие ошибок и валидность, старый скетч больше не нужен. Система "переключается" из старого скетча в новый, в вашем случае загрузчик перезаписывает старый скетч новым, см. последняя часть документации, на которую вы ссылаетесь.

Пространство после запущенного нового скетча снова свободно для следующего OTA-обновления.

Однако существует физический предел, вызванный износом флэш-памяти. Обычно это далеко от количества OTA-обновлений, которые устройство получит за свой срок службы.

,