Bootloader: Errata
Описание
Список известных ошибок загрузчика Modbus-устройств Wiren Board, подробнее о загрузчике и как его обновлять, читайте на странице Загрузчик периферийных устройств Wiren Board.
ERRBOOT001: Не работают четность ODD и EVEN при переходе в загрузчик с пользовательскими настройками связи
Подверженные устройства
Все устройства с загрузчиком версии 1.3.0
Описание
Если прошивка работает с четностью ODD или EVEN, то при переходе в загрузчик с пользовательскими настройками связи, загрузчик не отвечает.
Причины и подробное описание
Ошибка в коде драйвера последовательного порта, неправильно настраивается четность приемопередатчика.
Запланированное исправление
Исправлено в загрузчике версии 1.4.0
Пути обхода
Не использовать четность или использовать дефолтные настройки связи
ERRBOOT002: Обновление загрузчика не принимает прошивку на пользовательских настройках связи
Подверженные устройства
Все устройства с загрузчиком версии 1.3.0
Описание
Если обновлять загрузчик на пользовательских настройках, то сначала отправляется файл загрузчика, а затем прошивка. При этом прошивка не принимается.
Причины и подробное описание
После перехода в загрузчик с сохранением пользовательских настроек связи (через регистр 131), загрузчик только один раз принимает прошивку на пользовательских настройках, далее переключается на дефолтные.
Запланированное исправление
Исправлено в загрузчике версии 1.4.0
После перехода в загрузчик с сохранением пользовательских настроек связи (через регистр 131), параметры связи не будут меняться, пока не будет произведен переход на дефолтных настройках ( через регистр 129), или пока устройство не будет пререзагружено по питанию
Пути обхода
Использовать дефолтные настройки связи
ERRBOOT003: После обновления прошивки устройство может остаться в загрузчике и не запускать прошивку
Подверженные устройства
Все устройства с загрузчиком версии 1.4.0
Описание
Если обновить прошивку и новая версия будет иметь больший размер в блоках, чем старая, то загрузчик не сможет загрузить прошивку целиком. У устройства будет неопределенное поведение. Скорее всего устройство не будет отвечать.
Причины и подробное описание
Все пространство после прошивки используется как файловая система, загрузчик не стирает файловую систему и конец загружаемой прошивки не записывается, если прошивка пересекается со страницами файловой системы. Ошибка в данной версии загрузчика отмечает такую прошивку как полностью записаную и передает ей управление. Каждый раз через 2 секунды после подачи питания на устройство.
Запланированное исправление
Исправлено в загрузчике версии 1.4.1 Обновление загрузчика продолжает работать, так как размер загрузчика сильно меньше прошивки.
Пути обхода
Использовать ключ -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 нужно соглашаться на обновление загрузчика.