UpdateJCMFirmware¶
Описание утилиты¶
Утилита UpdateJCMFirmware входит в состав системы управления терминалами и предназначена для обновления прошивки купюроприемника JCM. Утилита выполняет следующие функции:
проверяет наличие купюроприемника, подключенного к COM-порту, указанному в параметрах. Если COM-порт отсутствует в параметрах, утилита определяет, к какому COM-порту подключен купюроприемник;
проверяет наличие файла прошивки, путь к которому указан в параметрах, либо ищет файл с прошивкой в директории, в которой находится утилита;
перепрошивает купюроприемник.
Поддерживаемые модели¶
Поддерживаются модели купюроприемников, работающие по протоколу ID003.
Необходимые условия выполнения программы¶
Системные требования: поддерживается работа в операционных системах MS Windows XP SP3, Windows 7 SP1.
В случае использования cmd-файла, сформированного в кодировке Win 1251, необходимо перед запуском утилиты UpdateJCMFirmware установить корректное значение текущей кодовой страницы: chcp 1251.
Параметры запуска указываются через пробел.
Запуск утилиты¶
Для запуска утилиты рекомендуется использовать cmd-файл, сформированный в кодировке OEM 866.
Принципы работы утилиты¶
Система управления терминалами заказчика запускает файл UpdateJCMFirmware.exe при необходимости используя ключи:
--port, -p, – имя COM-порта, к которому подключено устройство.
--baudrate, -b, – скорость подключения для загрузки прошивки. Возможные значения:
9600,19200,38400. Значение по умолчанию:38400.--file, -f – полный путь к файлу, содержащему прошивку устройства, для обновления прошивки устройства. Если путь содержит пробелы, то необходимо заключить его в кавычки.
--download_mode, -m, – режим загрузки прошивки, при котором блоки, содержащие только 0xFF, пропускаются. Возможные значения:
normal,differential(пропуск блоков, идентичных прошивке),skip_ff(сброс 0xFF блоков). Значение по умолчанию:0(загружаются все блоки данных).--progress, -r, – вывод индикатора завершения в ходе обновления прошивки устройства. Возможные значения:
0(запретить выпод),1(разрешить вывод). Значение по умолчанию:1.
Файл прошивки с расширением bin должен находиться в той же директории, где находится утилита, либо указан параметр запуска -f.
В случае запуска утилиты без параметра -f будет произведен автоматический поиск файла прошивки с расширением bin в текущей директории.
В случае запуска утилиты без параметра -p будет произведен автоматический поиск COM-порта купюроприемника среди подключенных устройств. Если в директории содержится несколько файлов прошивок, будет использован первый в алфавитном порядке файл.
Логи записываются в ту же директорию.
Пример:
UpdateJCMFirmware.exe -p COM1 –b 38400 -f "C:\TBV-100_FSH_12468_ID003_RUS-EUR-USA-BLR.bin" -m normal -r 1
Внимание
Не рекомендуется прошивать купюроприемник прошивкой, предназначенной для другой модели. В случае использования неправильного firmware купюроприемник будет заблокирован до переподключения его по питанию.
Особенности реализации утилиты¶
Устройство модели DBV-500 не позволяет производить прошивку в режиме сброса 0xFF блоков.
Для ускоренной перепрошивки устройства DBV-500 следует использовать режим дифференцированной загрузки.
Устройство модели TBV-100 не позволяет производить прошивку при отсутствующей кассете. Попытка прошить устройство при изъятой кассете приводит к ошибке устройства, требующей перезагрузки устройства. Если загрузка стартовала до изъятия кассеты, то прошивка будет завершена успешно.
Результат работы утилиты¶
Результат работы утилиты (купюроприемник прошит/не прошит) можно узнать по коду возврата (или коду ошибки). Получить код можно следующим образом:
Код возврата/ошибки выводится в консоль.
Сообщение об ошибке, которое выводится в консоль, дублируется в логах.
Список возможных кодов возврата с расшифровкой:
0 – прошивка JCM успешно завершена.
1 – прошивка JCM успешно завершена: версия прошивки не изменилась и осталась прежней.
2 – прошивка JCM успешно завершена: устройство не отвечает (GetStatus()->ERR_RESULT_TIMEOUT). Данный код возврата сигнализирует о том, что загрузка прошивки завершилась успешно, но средствами утилиты получить ответ от устройства не удалось.
Список возможных кодов ошибок с расшифровкой:
–1 – ошибка разбора командной строки.
–2 – устройство JCM не найдено.
–3 – не верно задан параметр -m [–download_mode].
–4 – не верно задан параметр -b [–baudrate].
–5 – указанный файл не найден.
–6 – не найдено ни одного файла с прошивкой.
–7 – порт недоступен (Not_Initialized).
–8 – не удалось получить статус устройства
–9 – устройство не обнаружено.
–10 – устройство не отвечает (GetStatus()->ERR_RESULT_TIMEOUT).
–11 – устройство не готово к прошивке.
–12 – невозможно открыть файл.
–13 – файл не открыт.
–14 – неверное имя файла.
–15 – неверный формат файла прошивки.
–16 – файл прошивки пустой.
–17 – размер файла превышает 100Мб.
–18 – ошибка проверки CRC файла прошивки.
–19 – ошибка проверки CRC загруженных данных.
–20 – затребованный адрес дифференцированной загрузки выходит за границы допустимых.
–21 – ошибка прошивки устройства.
–22 – порт занят или недоступен.
–23 – превышен таймаут ожидaния ответа от устройства.
–24 – ошибка взаимодействия с устройством.
–25 – не удалось обнаружить купюроприемник JCM на порту.
–26 – некорректные аргументы вызова.
–27 – не удалось обнаружить купюроприемник среди подключенных устройств.