Bootloader: Errata: различия между версиями

Строка 56: Строка 56:
'''Описание'''
'''Описание'''


Если обновить прошивку и новая версия будет иметь больший размер в блоках, чем старая, то загрузчик не сможет загрузить прошивку целиком.
Если обновить прошивку и новая версия будет иметь больший размер в блоках, чем старая, то загрузчик не сможет загрузить прошивку целиком. У устройства будет неопределенное поведение. Скорее всего устройство не будет отвечать.


'''Причины и подробное описание'''
'''Причины и подробное описание'''


Все пространство после прошивки используется как файловая система, загрузчик не стирает файловую систему и конец загружаемой прошивки не записывается, если прошивка пересекается со страницами файловой системы.
Все пространство после прошивки используется как файловая система, загрузчик не стирает файловую систему и конец загружаемой прошивки не записывается, если прошивка пересекается со страницами файловой системы. Ошибка в данной версии загрузчика отмечает такую прошивку как полностью записаную и передает ей управление. Каждый раз через 2 секунды после подачи питания на устройство.


'''Запланированное исправление'''
'''Запланированное исправление'''
Строка 70: Строка 70:


Использовать ключ -w в wb-mcu-fw-flasher для стирания файловой системы. Это приведет к корректной записи прошивки, однако настройки будут потеряны.
Использовать ключ -w в wb-mcu-fw-flasher для стирания файловой системы. Это приведет к корректной записи прошивки, однако настройки будут потеряны.
'''Возможные проблемы'''
Если в загрузчик 1.4.0 записать прошивку без ключа стирания файловой системы, то мы получаем неопределенное поведение и пропадание связи с устройством когда выполняется прошивка.
Единственный способ исправить положение - успеть связаться с загрузчиком за первые 2 секунды после подачи питания. Загрузчик отвечает первые 2 секундны на скорости 9600. К устройству можно обращаться по адресу 0. За эти 2 секунды нужно успеть запустить wb-mcu-fw-flasher с файлом обновления загрузчика 1.4.1. После передачи первого пакета данных загрузчик будет принимать прошивку и не переходить в прошивку. Таким образом устройство можно вернуть в исправное состояние.
Чтобы не допускать потери связи, выполняя команду wb-mcu-fw-updater update-all нужно соглашаться на обновление загрузчика.