.copyfirmwarelzo, метод, 32-разрядная версия (только для некоторых платформ)

Совет

Метод fd.copyfirmwarelzo для 16-разрядных платформ описан здесь.

Назначение:Предполагает, что начиная с логического сектора 0 флеш-памяти хранится блок данных с прошивкой TiOS, за которой, возможно, следует сжатый алгоритмом LZO двоичный файл приложения. Копирует прошивку TiOS в область TiOS флеш-памяти. Если аргумент app_present не равен нулю, распаковывает двоичный файл приложения и копирует его в область приложения флеш-памяти. После этого перезагружает устройство, чтобы оно запустило новую прошивку TiOS (и приложение).
Синтаксис:fd.copyfirmwarelzo(app_present as no_yes)
Возвращает:---
См. также:Самообновление прошивки и приложения, Прямой доступ к секторам, fd.copyfirmware, fd.copyfirmwarelzo, fd.copyfirmwarefromfile, fd.copyfirmwarefromfilelzo

АргументОписание
app_present

NO - метод скопирует только число секторов, покрывающее размер TiOS

YES - метод скопирует и двоичный файл скомпилированного приложения, который должен следовать за TiOS

Подробности

Алгоритм распаковки принимает данные, сжатые утилитой lzo1x-999.exe.

Часть с приложением (двоичный файл скомпилированного приложения Tibbo BASIC/C) необязательна.

Обратите внимание на отличия от 16-разрядной версии этого метода:

  • 16-разрядная версия ожидает, что прошивка TiOS и двоичный файл приложения сначала объединены, а затем сжаты алгоритмом LZO. 32-разрядная версия ожидает прошивку TiOS как есть (без сжатия), а двоичный файл приложения - в сжатом алгоритмом LZO виде. Не беспокойтесь, что это чем-то хуже сжатия всего подряд вместе с TiOS: если пропустить файл TiOS через алгоритм LZO, сжатия практически не получится.
  • 16-разрядная версия требует указать суммарное число байтов в частях TiOS и приложения. 32-разрядной версии нужно знать лишь, есть ли часть с приложением (предполагается, что часть с TiOS присутствует всегда). Размер TiOS фиксирован и заранее известен для каждой платформы, поэтому передавать его не нужно. Что касается сжатого алгоритмом LZO двоичного файла приложения, формат LZO позволяет алгоритму распаковки самому определить, что данные закончились.

Некоторые платформы этот метод не поддерживают. Подробности смотрите в документации на платформу.

На 32-разрядных платформах метод работает, только если в устройстве установлен Monitor V2.00 или новее. За бесплатной программой обновления Monitor обращайтесь в службу поддержки Tibbo.

Внимание

БУДЬТЕ ОЧЕНЬ ОСТОРОЖНЫ! Применение этого метода к неверным данным «выведет из строя» устройство, и дальнейшие удалённые обновления станут невозможны. Придётся ехать на объект и загружать правильную прошивку и/или приложение, возможно через последовательный порт. Страшно, правда?

Исходный материал Tibbo обновлён 12 сентября 2022Оригинал на docs.tibbo.com · Сообщить об ошибке