Обновление прошивки контроллера возможно только если он был первоначально прошит BOOT-прошивкой либо гибридной прошивкой, слитой из BOOT- и USER-версий.
Процедура обновления файлов конфигурации и прошивки контроллера производится в 2 этапа:
Загрузка файлов в контроллер возможна с использованием протоколов RTM64 и MODBUS RTU (включая MODBUS RTUoverTCP) через окна в адресном пространстве (размер окна 64 байта).
Загрузка файлов может быть выполнена как в режиме USER (прерывать исполнение конфигурации при этом необязательно – фоновый режим загрузки), так и в режиме BOOT. В обоих режимах можно выполнить операцию по применению конфигурации, но обновление прошивки возможно только с переходом в режим BOOT.
Примечание: при загрузке файлов по протоколу RTM64 не прерывая исполнения конфигурации (в фоновом режиме), время загрузки увеличивается. Это связано с тем, что контроллер будет каждый RTM-пакет отдавать на проверку интерфейсным функциональным блокам и только после исполнения цепочки ФБ пакет будет обработан разборщиком RTM64-команд. Т. о. время загрузки в фоновом режиме зависит от частоты исполнения конфигурации логики, т.е. чем чаще исполняется цепочка ФБ, тем меньше будет задержка перед обработкой очередной команды и тем меньше будет время загрузки файла.
Примечание: процедура обновления прошивки может длиться до 10 секунд. Контроллер при этом не реагирует на входящие пакеты, но опрашивает I2C-модули 4 раза в секунду для предотвращения перезагрузки БП во время процедуры обновления. Обновление производится страницами по 256 байт в обратном порядке (начиная с последней страницы). Это сделано для того чтобы минимизировать вероятность порчи программы контроллера и невозможности его включения ни в одном из режимов (BOOT/USER). Если процедура обновления ПО будет прервана (кроме случая когда обновление прервано в самом конце процедуры когда повреждается 0-я страница памяти программ), контроллер при следующем включении будет в режиме BOOT и можно будет повторить процедуру обновления ПО. Если процедура обновления не была начата, можно вернуться к прошлой версии ПО переключившись в режим «USER».
При обновлении конфигурации/прошивки понадобится давать контроллеру команды. Для этого необходимо записывать определённые значения-пароли в специализированные системные регистры, перечень которых и допустимые значения приведены ниже:
Регистр «Команда перезагрузки контроллера (RESET)»:
Регистр «Команда окончания загрузки файла конфигурации»:
Регистр «Команда окончания загрузки файла прошивки»:
Регистр «Команда включения/выключения исполнения конфигурации»:
Регистр «Команда расчёта CRC файлов в буферах контроллера»: