wb_editors
559
правок
N.kulikov (обсуждение | вклад) |
|||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 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. После передачи первого пакета данных загрузчик будет принимать прошивку и не переходить в прошивку. Таким образом устройство можно вернуть в исправное состояние. | |||
Удобнее всего это делать если устройство запитано через VOUT контроллера. Можно собрать команду вида | |||
'''mosquitto_pub -t /devices/wb-gpio/controls/V_OUT/on -m 0; sleep 2; mosquitto_pub -t /devices/wb-gpio/controls/V_OUT/on -m 1; sleep 0.5; wb-mcu-fw-flasher -d /dev/ttyRS485-2 -a 0 -f wb-bootloader-updater_mrwl3G__1.4.1_master_e676613.wbfw''' | |||
Чтобы не допускать потери связи, выполняя команду wb-mcu-fw-updater update-all нужно соглашаться на обновление загрузчика. |