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.

  1. В случае запуска утилиты без параметра -f будет произведен автоматический поиск файла прошивки с расширением bin в текущей директории.

  2. В случае запуска утилиты без параметра -p будет произведен автоматический поиск COM-порта купюроприемника среди подключенных устройств. Если в директории содержится несколько файлов прошивок, будет использован первый в алфавитном порядке файл.

  3. Логи записываются в ту же директорию.

Пример:

UpdateJCMFirmware.exe -p COM1 –b 38400 -f "C:\TBV-100_FSH_12468_ID003_RUS-EUR-USA-BLR.bin" -m normal -r 1

Внимание

Не рекомендуется прошивать купюроприемник прошивкой, предназначенной для другой модели. В случае использования неправильного firmware купюроприемник будет заблокирован до переподключения его по питанию.

Особенности реализации утилиты

  1. Устройство модели DBV-500 не позволяет производить прошивку в режиме сброса 0xFF блоков.

  2. Для ускоренной перепрошивки устройства DBV-500 следует использовать режим дифференцированной загрузки.

  3. Устройство модели 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 – не удалось обнаружить купюроприемник среди подключенных устройств.