очень интересна мне возможность ОТА.
Это работает таким образом в новой версии, которая еще не выложена (доделываю снятие показаний со счетчика Меркурий -
PowerMeter-IrDA):
1. Веб сервер грузит в память целиковую прошивку firmware.bin на место вебдиска, если флеш размером 512кб или после вебдиска, если флеш больше.
2. Далее модуль перезагружается и загрузчик с ОТА копирует прошивку на 0 адрес.
3. Если флеш 512к, то после этого нужно будет еще загрузить вебдиск, зайдя на модуль через браузер.
Загрузчика 4 версии - по размеру памяти и по скорости флеши (40/80 МГц).
Также сделал супер маленькую прошивку, выводит только приглашение загрузить прошивку, чтобы можно было обновиться в 2 стадии на 512к модуле, если код основной прошивки уже не лезет.
При компиляции выводит сколько места осталось.
Сама загрузка прошивки находится в web_srv.c.
То что еще изменено, по сравнению с вебсвалкой, описано на странице PowerMeter в гитхабе.
Кроме этого есть еще мелкие доработки и улучшения, если вижу, что код можно с оптимизировать и не лень - сразу правлю.