WB Modbus Devices Firmware Update: различия между версиями

Материал из Wiren Board
Строка 5: Строка 5:
На устройства добавлен режим загрузчика, в котором возможно обновлять прошивку.  
На устройства добавлен режим загрузчика, в котором возможно обновлять прошивку.  


В режиме загрузчика основной функционал устройства отключается. '''Коммуникационные параметры в режиме загрузчика фиксированы и не зависят от значений в EEPROM: 9600 8N2.'''
В режиме загрузчика основной функционал устройства отключается. '''Коммуникационные параметры в режиме загрузчика фиксированы и не зависят от значений в памяти устройства: 9600 8N2.'''
 


== Переход в режим загрузчика ==
== Переход в режим загрузчика ==

Версия 18:48, 26 февраля 2019

Загрузчик прошивок

В новых версиях наших устройств реализован механизм загрузчика прошивок (bootloader). Он позволяет обновлять микропрограммы устройств/модулей Wiren Board по RS-485/Modbus RTU. На устройства добавлен режим загрузчика, в котором возможно обновлять прошивку.

В режиме загрузчика основной функционал устройства отключается. Коммуникационные параметры в режиме загрузчика фиксированы и не зависят от значений в памяти устройства: 9600 8N2.

Переход в режим загрузчика

Индикация режима загрузчика

Устройство переходит в режим загрузчика, если:

  • на устройстве имеется корректная прошивка — первые 2 секунды после включения питания устройство работает в режиме загрузчика;
  • на устройстве корректная прошивка (например, был сбой при обновлении прошивки) — в этом случае режим загрузчика активен постоянно;
  • при работе основной программы в holding-регистр 129 (0x81) была записана 1 — в этом случае устройство перезагружается и остается в режиме загрузчика 120 секунд.

Индикация режима загрузчика: индикатор Status устройства редко мигает. При заливке новой прошивки индикатор перестает менять состояние.

Прошивки

Запись прошивки в память устройства выполняется загрузчиком, который получает ее по Modbus RTU. Прошивки хранятся в файлах с расширением .wbfw.

Сигнатуры устройств

При прошивке на заводе в память устройства записывается сигнатура — наименование аппаратного типа устройства. При перезаписи прошивки текущая сигнатура сравнивается с сигнатурой прошивки. Запись новой прошивки возможна только при совпадении сигнатур.

Modbus

Загрузчик устройства получает прошивку по Modbus RTU. В режиме загрузчика коммуникационные параметры фиксированы и не зависят от значений, записанных ранее в память устройства: 9600 8N2. По протоколу Modbus устройство можно перевести в режим загрузчика, если во время работы основной программы записать 1 в holding-регистр 129 (0x81). В этом случае устройство перезагружается и остается в режиме загрузчика 120 секунд.

Modbus-адрес устройства для прошивки в режиме загрузчика следует выбирать следующим образом:

1. Основной адрес для прошивки — адрес, заданный в памяти устройства: то есть это стандартный адрес, на который устройство отвечает из основной программы. 2. Прошивать устройства можно по широковещательному адресу 0. Это менее предпочтительный способ.