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

3179 байт добавлено ,  1 месяц назад
Нет описания правки
Строка 2: Строка 2:
== Описание ==
== Описание ==
Bootloader — загрузчик устройств Wiren Board.
Bootloader — загрузчик устройств Wiren Board.
==Переход устройств в режим загрузчика ==
[[File:Bootloader.gif|300px|thumb|right|Индикация режима загрузчика]]
Устройство находится в режиме загрузчика в следующих случаях:
* первые 2 секунды после включения питания, если на устройстве есть корректная прошивка;
* постоянно, если на устройстве нет корректной прошивки, например, был сбой при обновлении прошивки;
* при записи <code>1</code> в holding-регистр <code>129(0x81)</code> в момент работы основной программы — в этом случае устройство перезагружается и остается в режиме загрузчика 120 секунд с параметрами соединения <code>9600N2</code>. Этот режим можно активировать запустив утилиту [[wb-mcu-fw-flasher]] с ключем <code>-j</code>.
*при записи <code>1</code> в holding-регистр <code>131(0x83)</code> в момент работы основной программы — в этом случае устройство перезагружается и остается в режиме загрузчика 120 секунд с параметрами соединения, '''установленными в настройках устройства'''. Это может быть полезно для обновления устройств за шлюзами без перенастройки параметров шлюза.
*:Перейти в этот режим можно в [[wb-mcu-fw-flasher]] начиная с версии '''1.3.0''' запустив его с ключем <code>-J</code>. Кроме того для запуска режима необходима поддержка со стороны загрузчика (версия 1.3.0 и выше) и со стороны прошивки (см. changelog прошивки).
В режиме загрузчика индикатор '''Status''' устройства мигает с периодом 1 секунда, а при записи прошивки мигание индикатора учащается.
Восстановление прошивки описано в статье [[WB_Modbus_Devices_Firmware_Update#fw-recovery | Обновление прошивки Modbus-устройств Wiren Board]].
===Проверка связи с устройством в режиме загрузчика===
Загрузчик продолжает слушать шину RS-485 и отвечает на опрос некоторых регистров. Можно прочитать сигнатуру устройства используя команду
<code>modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a1 -t0x03 -r290 -c12</code>
Важно: именно 12 регистров одним запросом, начиная с адреса 290.


[[Bootloader_MOD|Режим загрузчика Modbus-устройств Wiren Board]]
[[Bootloader_MOD|Режим загрузчика Modbus-устройств Wiren Board]]
translator, wb_editors
4251

правка