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

 
(не показаны 3 промежуточные версии 2 участников)
Строка 1: Строка 1:
==Описание==
==Описание==
Список известных ошибок загрузчика Modbus-устройств Wiren Board
Список известных ошибок загрузчика Modbus-устройств Wiren Board, подробнее о загрузчике и как его обновлять, читайте на странице [[Bootloader|Загрузчик периферийных устройств Wiren Board]].
 
[[Bootloader|Подробнее о загрузчике]]
 
[[Bootloader#update|Как обновить загрузчик]]


== ERRBOOT001: Не работают четность ODD и EVEN при переходе в загрузчик с пользовательскими настройками связи==
== ERRBOOT001: Не работают четность ODD и EVEN при переходе в загрузчик с пользовательскими настройками связи==
Строка 60: Строка 56:
'''Описание'''
'''Описание'''


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


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


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


'''Запланированное исправление'''
'''Запланированное исправление'''
Строка 74: Строка 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 нужно соглашаться на обновление загрузчика.

Текущая версия на 15:59, 11 июня 2024

Описание

Список известных ошибок загрузчика 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 нужно соглашаться на обновление загрузчика.