RU2815184C1 - Method of changing firmware - Google Patents

Method of changing firmware Download PDF

Info

Publication number
RU2815184C1
RU2815184C1 RU2023115593A RU2023115593A RU2815184C1 RU 2815184 C1 RU2815184 C1 RU 2815184C1 RU 2023115593 A RU2023115593 A RU 2023115593A RU 2023115593 A RU2023115593 A RU 2023115593A RU 2815184 C1 RU2815184 C1 RU 2815184C1
Authority
RU
Russia
Prior art keywords
module
value
modules
vmpo
code
Prior art date
Application number
RU2023115593A
Other languages
Russian (ru)
Inventor
Илья Владимирович Малахов
Николае Еремейко
Алексей Александрович Корчак
Original Assignee
ООО Квант
Filing date
Publication date
Application filed by ООО Квант filed Critical ООО Квант
Application granted granted Critical
Publication of RU2815184C1 publication Critical patent/RU2815184C1/en

Links

Abstract

FIELD: computer engineering.
SUBSTANCE: technical result is achieved due to the fact that a given number of bits is distributed between the number of modules significant for VMPO and their properties in the structure of the descriptor code; setting the service marker (K) to a value of one; selecting a field from the body of the descriptor code corresponding to the first module, by value from which modules corresponding to parameters of this module are configured; checking the value of the service marker for compliance with the total number of adjustable modules (M), wherein in case the value of the service marker (K) is less than the value of the total number of adjustable modules (M), the value of the service marker (K) is increased and the next adjustable module (M) is adjusted, in case the value of the service marker (K) becomes corresponding to the total number of tunable modules (M), the last tunable module (M) is adjusted; and performing installation and/or updating of VMPO in accordance with the variable parameters of the composition of the device.
EFFECT: reduced probability of errors when updating devices taking into account changes in their hardware features.
1 cl, 2 dwg

Description

Область техники Field of technology

Заявляемое техническое решение относится к прикладному программному обеспечению для управления устройствами на основе микропроцессорных систем и предназначено для адаптации программ к аппаратным изменениям.The claimed technical solution relates to application software for controlling devices based on microprocessor systems and is intended to adapt programs to hardware changes.

Уровень техники State of the art

Всем бытовым и промышленным устройствам, имеющим в своем составе встроенные управляющие устройства на основе микропроцессоров, требуется соответствующая управляющая программа, обычно загружаемая в память устройства на этапе изготовления. Со временем, управляющая программа совершенствуется производителем и обновляется на устройстве находящимся у потребителя. Делается это как для поддержания высокого уровня функционирования устройств, так и для устранения выявленных в процессе эксплуатации проблем и ошибок в программе. В условиях постоянного развития техники и усложнения программных продуктов потребность постоянного обновления встроенного микропрограммного обеспечения (ВМПО) возникает все чаще и становится одной из постоянных задач сервисных служб по обеспечению жизненного цикла устройств. Большинство проблем, связанных с формированием пакетов обновлений ВМПО для конкретных устройств, их доставки и инсталляции у конечных пользователей уже решены существующими техническими методами и средствами. All household and industrial devices that have built-in microprocessor-based control devices require an appropriate control program, usually loaded into the device’s memory at the manufacturing stage. Over time, the control program is improved by the manufacturer and updated on the device located at the consumer. This is done both to maintain a high level of functioning of the devices and to eliminate problems and errors in the program identified during operation. In the context of constant development of technology and increasing complexity of software products, the need for constant updating of embedded firmware (VMPO) arises more and more often and becomes one of the constant tasks of service departments to ensure the life cycle of devices. Most of the problems associated with the formation of VMPO update packages for specific devices, their delivery and installation to end users have already been solved by existing technical methods and means.

Известен, например, способ и устройство обновления встроенного программного обеспечения для проекционного телевидения (CN106101841 «Firmware upgrading method and device for projection television», HISENSE BROADBAND MULTIMEDIA TECHNOLOGY CO LTD, опубл. 09.11.2016, [1]). Способ обновления встроенного программного обеспечения включает следующие этапы:For example, a method and device for updating firmware for projection television is known (CN106101841 “Firmware upgrading method and device for projection television”, HISENSE BROADBAND MULTIMEDIA TECHNOLOGY CO LTD, published 11/09/2016, [1]). The firmware update method includes the following steps:

- модуль управления телевизором принимает дескриптор обновления в потоке телевизионного кода, при этом дескриптор обновления содержит информацию об обновлении модуля управления проекцией;- the TV control module receives an update descriptor in the television code stream, wherein the update descriptor contains information about updating the projection control module;

- модуль управления телевизором анализирует информацию об обновлении из дескриптора обновления и загружает пакет обновления встроенного программного обеспечения через поток телевизионного кода;- The TV control module analyzes the update information from the update descriptor and downloads the firmware update package through the TV code stream;

- модуль управления телевизором отправляет пакет обновления встроенного программного обеспечения в модуль управления проектором;- the TV control module sends the firmware update package to the projector control module;

- модуль управления проектором принимает пакет обновления встроенного программного обеспечения от модуля управления телевизором и выполняет операцию обновления в соответствии с пакетом обновления встроенного программного обеспечения. - The projector control module receives the firmware update package from the TV control module and performs the update operation according to the firmware update package.

Недостатком аналога [1] является то, что неизвестна структура кода-дескриптора и структура программного механизма расшифровки кода-дескриптора. В описании не указано о возможности использовать обновления при изменении модулей оборудования.The disadvantage of analogue [1] is that the structure of the descriptor code and the structure of the software mechanism for decrypting the descriptor code are unknown. The description does not indicate the ability to use updates when changing hardware modules.

Также известен способ обновления программного обеспечения (US10474448 «METHOD AND SYSTEM FOR PROVIDING SOFTWARE UPDATES TO LOCAL MACHINES» (SOPHOS LTD [GB], опубл. 12.11.2019), [2]). Как и в заявляемом техническом решении в способе предоставляют файл дескриптора. При этом файл дескриптора включает в себя хэш-код для каждого из множества подфайлов обновления и указывает порядок, в котором множество подфайлов обновления объединяется в обновление программного обеспечения. Передают файл дескриптора на множество локальных вычислительных устройств. Загружают один из множества подфайлов обновления в одно из множества локальных вычислительных устройств. Сравнивают все хэш-коды подфайлов обновления, представленных в файле дескриптора, с хэш-кодами для подфайлов, хранящихся в памяти по меньшей мере одного из множества локальных вычислительных устройств. Если все подфайлы найдены, в своей памяти, осуществляют сборку обновления программного обеспечения из множества подфайлов обновления и устанавливают обновление программного обеспечения.There is also a known method for updating software (US10474448 “METHOD AND SYSTEM FOR PROVIDING SOFTWARE UPDATES TO LOCAL MACHINES” (SOPHOS LTD [GB], published 11/12/2019), [2]). As in the claimed technical solution, a descriptor file is provided in the method. The descriptor file includes a hash code for each of the plurality of update subfiles and indicates the order in which the plurality of update subfiles are combined into a software update. The descriptor file is transmitted to a plurality of local computing devices. One of a plurality of update subfiles is downloaded to one of a plurality of local computing devices. All hash codes of the update subfiles present in the descriptor file are compared with the hash codes for the subfiles stored in the memory of at least one of the plurality of local computing devices. If all subfiles are found, the software update is assembled in its memory from the plurality of update subfiles and the software update is installed.

По меньшей мере одно из множества локальных вычислительных устройств может определить, является ли обновление программного обеспечения релевантным резидентному программному обеспечению на вычислительном устройстве, путем сопоставления идентификатора обновления программного обеспечения, содержащегося в файле дескриптора, с идентификаторами резидентного программного обеспечения на вычислительном устройстве.At least one of the plurality of local computing devices may determine whether a software update is relevant to resident software on the computing device by matching a software update identifier contained in a descriptor file with identifiers of resident software on the computing device.

Недостатком аналога [2] является то, что неизвестна структура программного механизма расшифровки кода-дескриптора. Из-за этого трудно определить возможность применения указанного способа для устройств с изменяемым составом модулей.The disadvantage of analogue [2] is that the structure of the software mechanism for decrypting the descriptor code is unknown. Because of this, it is difficult to determine the possibility of using this method for devices with a variable composition of modules.

Указанный аналог [2] является по совокупности существенных признаков наиболее близким аналогом того же назначения к заявляемому техническому решению. Поэтому он принят в качестве прототипа.The specified analogue [2] is, in terms of the totality of essential features, the closest analogue of the same purpose to the claimed technical solution. Therefore, it is accepted as a prototype.

Решаемой технической проблемой является то, что при массовом производстве ряда устройств с микропроцессорным управлением, существует большое разнообразие вариантов комплектования одного и того же вида устройств различными идентичными блоками от различных производителей, имеющих различия и особенности в их программном управлении. Для каждого подобного варианта устройства требуется своя особенная версия ВМПО, учитывающая особенности управления сконфигурированного варианта блоков устройства. При наличии нескольких подобных вариативных блоков в устройстве – количество версий ВМПО многократно растет, что требует значительных усилий и средств не только на администрирование репозитория данных версий ВМПО, их распределение по устройствам, соответствующим им по версиям, но и постоянного поддержания всего этого массива ВМПО в актуальном состоянии – ведь любое внесенное в код изменение необходимо надлежащим образом отразить во всех версиях ВМПО, находящихся в работе. The technical problem being solved is that during the mass production of a number of devices with microprocessor control, there is a wide variety of options for completing the same type of device with various identical units from different manufacturers, which have differences and features in their program control. Each such device variant requires its own special version of VMPO, which takes into account the management features of the configured version of the device blocks. If there are several similar variable blocks in a device, the number of VMPO versions increases many times, which requires significant effort and money not only to administer the repository of these VMPO versions, their distribution among devices corresponding to them by version, but also to constantly keep this entire array of VMPO up to date state - after all, any change made to the code must be properly reflected in all versions of VMPO in use.

Таким образом, существует потребность в способе адаптации ВМПО к версии комплектования конкретного устройства, чтобы одна единственная рабочая версия ВМПО могла корректно функционировать на всех модификациях устройства.Thus, there is a need for a way to adapt VMPO to the configuration version of a specific device, so that one single working version of VMPO can function correctly on all modifications of the device.

Раскрытие заявляемого технического решенияDisclosure of the proposed technical solution

Техническим результатом, обеспечиваемым заявляемым техническим решением, является обеспечение адаптации ВМПО к версии комплектования конкретного устройства таким образом, чтобы одна единственная рабочая версия ВМПО могла корректно функционировать на всех модификациях устройства. При этом существенно облегчается администрирование версий ВМПО (отпадает необходимость вести и отслеживать реестр версий для всех возможных сочетаний аппаратного обеспечения) и снижается вероятность ошибок при обновлениях из-за аппаратных особенностей.The technical result provided by the claimed technical solution is to ensure the adaptation of VMPO to the configuration version of a specific device in such a way that one single working version of VMPO can function correctly on all modifications of the device. At the same time, the administration of VMPO versions is significantly simplified (there is no need to maintain and track a version registry for all possible combinations of hardware) and the likelihood of errors during updates due to hardware features is reduced.

Сущность заявленного технического решения состоит в том, что The essence of the claimed technical solution is that

способ изменения встроенного микропрограммного обеспечения (ВМПО) включает следующие этапы:The method for changing firmware (VMPO) includes the following steps:

- активируют управляющий код, ответственный за взаимодействие с аппаратными модулями; - activate the control code responsible for interaction with hardware modules;

- получают код-дескриптор, содержащий данные устройства по его критическим для ВМПО модулям; - receive a descriptor code containing device data on its critical modules for VMPO;

- производят считывание аппаратных регистров, на которых переключателями сформирована кодовая последовательность из управляющего кода в соответствии с полученным кодом-дескриптором; - read the hardware registers on which the switches have generated a code sequence from the control code in accordance with the received descriptor code;

- распределяют заданное количество битов между количеством значимых для ВМПО модулей и их свойствами в структуре кода-дескриптора; - distribute a given number of bits between the number of modules that are significant for VMPO and their properties in the structure of the descriptor code;

- устанавливают служебный маркер (K) в значение единицы; - set the service marker (K) to the value of one;

- выделяют поле из тела кода-дескриптора, соответствующее первому модулю по значению из которого настраиваются модули, соответствующие параметрам данного модуля; - select a field from the body of the descriptor code corresponding to the first module by value from which modules corresponding to the parameters of this module are configured;

- проверяют значение служебного маркера на соответствие общему количеству настраиваемых модулей (M), при этом в случае, если значение служебного маркера (K) меньше значения общего количества настраиваемых модулей (M), то значение служебного маркера (K) увеличивают и производят настройку следующего настраиваемого модуля (M), 6 в случае, если значение служебного маркера (K) становится соответствующим общему количества настраиваемых модулей (M), то производят настройку последнего настраиваемого модуля (M), и - производят инсталляцию и/или обновление ВМПО в соответствии с изменяемыми параметрами состава устройства. - check the value of the service marker for compliance with the total number of customizable modules (M), and if the value of the service marker (K) is less than the value of the total number of customizable modules (M), then the value of the service marker (K) is increased and the next customizable one is configured module (M), 6 if the value of the service marker (K) becomes corresponding to the total number of custom modules (M), then the last custom module (M) is configured, and - the VMPO is installed and/or updated in accordance with the changed parameters composition of the device.

Вышеуказанная сущность является совокупностью существенных признаков заявленного технического решения, обеспечивающих достижение заявленного технического результата.The above essence is a set of essential features of the claimed technical solution, ensuring the achievement of the declared technical result.

В частном случае в структуре кода- дескриптора для первого модуля отведено три первых бита, что составляет восемь комбинаций для свойств, для второго модуля – пара битов, что охватывает четыре комбинации свойств, для I-ого модуля выделяют поле битов рядом с битом J, при этом последний бит N выделяется последнему модулю (М).In a particular case, in the structure of the descriptor code, the first three bits are allocated for the first module, which makes up eight combinations for properties, for the second module - a pair of bits, which covers four combinations of properties, for the first module a bit field is allocated next to the J bit, with this is the last one bit N is allocated to the last module (M).

Автором заявленного технического решения изготовлен опытный образец этого решения, испытания которого подтвердили достижение технического результата.The author of the claimed technical solution produced a prototype of this solution, tests of which confirmed the achievement of the technical result.

Краткое описание чертежейBrief description of drawings

На фиг. 1 показана структура кода-дескриптора, содержащего информацию о составе конкретного устройства по критически важным для ВМПО блокам. На фиг. 2 – блок схема алгоритма программного модуля адаптации ВМПО по данным кода-дескриптора.In fig. Figure 1 shows the structure of a descriptor code containing information about the composition of a specific device in blocks critical for VMPO. In fig. 2 – block diagram of the algorithm of the VMPO adaptation software module according to the descriptor code data.

Осуществление технического решения Implementation of technical solution

В способе используют одну универсальную рабочую версию ВМПО для инсталляции и\или обновления управляющей программы для ряда однотипных устройств, различающихся по составу целого ряда своих блоков, требующих в общем случае существенной модификации управляющего программного кода. The method uses one universal working version of VMPO to install and/or update the control program for a number of similar devices that differ in the composition of a number of their blocks, which generally require significant modification of the control program code.

При этом формируют и используют код-дескриптор, в котором отражен состав устройства по его критическим для ВМПО модулям. К примеру - для телевизионных приемников критическим изменяемым модулем является ЖК панель, которая для типов от разных производителей может иметь различные режимы работы и параметры (частота обновления, параметры развертки, форматы данных и т.п.).In this case, a descriptor code is generated and used, which reflects the composition of the device according to its critical modules for VMPO. For example, for television receivers, the critical variable module is the LCD panel, which for types from different manufacturers can have different operating modes and parameters (refresh rate, scan parameters, data formats, etc.).

Код-дескриптор формируют по меньшей мере как восьмизначный двоичный код. В частных случаях код может быть двенадцатизначным и более. Отдельные биты кода-дескриптора ассоциированы с различными значащими параметрами состава устройства (модулями, режимами работы, параметрами и т.п.).The descriptor code is formed as at least an eight-digit binary code. In special cases, the code can be twelve digits or more. Individual bits of the descriptor code are associated with various significant parameters of the device composition (modules, operating modes, parameters, etc.).

Пример структуры кода-дескриптора (10) приведен на фиг.1, где заданное количество битов распределено между количеством значимых для ВМПО модулей и их свойств.An example of the structure of the descriptor code (10) is shown in Fig. 1, where a given number of bits is distributed between the number of modules that are significant for VMPO and their properties.

В общем случае, для первого Модуля 1 (18) может быть отведено три первых бита (11,12,13) что составляет 8 комбинаций для свойств, для второго Модуля 2 (19) – пара битов (14,15) что позволит охватить четыре комбинации свойств, для I-ого модуля (20) выделить несколько битов рядом с Битом J (16), и так до последних битов, включая Бит N (17), которые выделяются Модулю М. Или вышеупомянутые биты могут быть оставлены в резерве – для возможности расширения системы. При таком распределении каждому значимому свойству каждого модуля устройства может быть поставлено в соответствие кодовая последовательность, однозначно определяющая его состояние (или значение) в данном устройстве. Это позволяет закодировать в цифровом виде информацию об аппаратных особенностях конкретного устройства для хранения и последующего анализа. При смене какого-либо модуля устройства на другой тип (в результате ремонта или обслуживания) – код- дескриптор перезаписывают на соответствующий новому аппаратному составу устройства.In general, for the first Module 1 (18) the first three bits (11,12,13) can be allocated, which is 8 combinations for properties, for the second Module 2 (19) - a pair of bits (14,15) which will cover four combination of properties, for the I-th module (20) allocate a few bits next to Bit J (16), and so on until the last bits, including Bit N (17), which are allocated to Module M. Or the above bits can be left in reserve - for possibilities for system expansion. With such a distribution, each significant property of each device module can be assigned a code sequence that uniquely determines its state (or value) in a given device. This allows you to digitally encode information about the hardware features of a specific device for storage and subsequent analysis. When changing any device module to another type (as a result of repair or maintenance), the descriptor code is rewritten to the one corresponding to the new hardware composition of the device.

Для надлежащей адаптации универсального ВМПО к конкретному аппаратному составу устройства, на этапе активации управляющего кода, ответственного за взаимодействие с определенными аппаратными модулями, получают и расшифровывают нужный участок кода-дескриптора, соответствующий данному модулю по алгоритму, блок-схема которого представлена на фиг.2, где после необходимых подготовительных операций начинается этап (30) адаптации ВМПО к аппаратному окружению.For proper adaptation of the universal VMware to the specific hardware composition of the device, at the stage of activating the control code responsible for interaction with certain hardware modules, the required section of the descriptor code corresponding to this module is obtained and decrypted according to the algorithm, the block diagram of which is presented in Fig. 2. where, after the necessary preparatory operations, stage (30) of adapting the VMPO to the hardware environment begins.

В общем случае, начинается процесс с получения кода-дескриптора (31), любым предусмотренным для этого способом:In general, the process begins by obtaining the descriptor code (31), in any way provided for this:

а) чтением аппаратных регистров, на которых переключателями сформирована кодовая последовательность, a) reading hardware registers on which the code sequence is formed by switches,

б) чтением значения из ячеек памяти, куда код был предварительно записан при производстве устройства, b) reading the value from memory cells where the code was previously written during the production of the device,

в) чтением данных особого файла со сменного носителя, подключаемого к устройству на данном этапе и т.п.c) reading data from a special file from removable media connected to the device at this stage, etc.

Затем начинается цикл последовательного программирования параметров модуля, для чего служебный маркер устанавливается в единицу (32) и из тела кода-дескриптора выделяется поле, соответствующее первому модулю (33), по значению из которого настраиваются программные модули (34), соответствующие параметрам данного модуля. Последующая проверка значения маркера (35) на равенство общему количеству настраиваемых модулей позволяет разветвить программу – при отрицательном результате значение маркера увеличивается (36) и программа приступает к обработке следующего модуля (33, 34, 35) до достижения положительного результата – обработке данных последнего модуля, после чего работа по инсталляции и\или обновления ВМПО продолжается (37).Then the cycle of sequential programming of the module parameters begins, for which the service marker is set to one (32) and the field corresponding to the first module (33) is extracted from the body of the descriptor code, according to the value from which the program modules (34) corresponding to the parameters of this module are configured. Subsequent checking of the marker value (35) for equality to the total number of customizable modules allows you to branch the program - if the result is negative, the marker value increases (36) and the program begins processing the next module (33, 34, 35) until a positive result is achieved - processing the data of the last module, after which work on installing and/or updating VMPO continues (37).

Как следует из описания, исходно в загружаемом ВМПО должны содержаться управляющие данные для всех типов, применяемых в устройстве модулей, из которых на этапе адаптации выбирается подмножество нужных. Однако при сегодняшнем типовом размере ВМПО доля прикладных данных по управлению модулями является абсолютно незначительной и предложенный механизм значительно облегчает администрирование обновлениями ВМПО для массовых изделий.As follows from the description, the loaded VMPO must initially contain control data for all types of modules used in the device, from which a subset of the required ones is selected at the adaptation stage. However, with today's typical VMPO size, the share of applied data on module management is absolutely insignificant and the proposed mechanism greatly facilitates the administration of VMPO updates for mass-produced products.

Claims (12)

1. Способ изменения встроенного микропрограммного обеспечения (ВМПО), характеризующийся тем, что включает следующие этапы:1. A method for changing firmware (VMPO), characterized by the fact that it includes the following steps: - активируют управляющий код, ответственный за взаимодействие с аппаратными модулями;- activate the control code responsible for interaction with hardware modules; - получают код-дескриптор, содержащий данные устройства по его критическим для ВМПО модулям;- receive a descriptor code containing device data on its critical modules for VMPO; - производят считывание аппаратных регистров, на которых переключателями сформирована кодовая последовательность из управляющего кода в соответствии с полученным кодом-дескриптором;- read the hardware registers on which the switches have generated a code sequence from the control code in accordance with the received descriptor code; - распределяют заданное количество битов между количеством значимых для ВМПО модулей и их свойствами в структуре кода-дескриптора;- distribute a given number of bits between the number of modules that are significant for VMPO and their properties in the structure of the descriptor code; - устанавливают служебный маркер (K) в значение единицы;- set the service marker (K) to the value of one; - выделяют поле из тела кода-дескриптора, соответствующее первому модулю, по значению из которого настраиваются модули, соответствующие параметрам данного модуля;- select a field from the body of the descriptor code corresponding to the first module, by the value from which modules corresponding to the parameters of this module are configured; - проверяют значение служебного маркера на соответствие общему количеству настраиваемых модулей (M), при этом- check the value of the service marker for compliance with the total number of custom modules (M), while в случае, если значение служебного маркера (K) меньше значения общего количества настраиваемых модулей (M), значение служебного маркера (K) увеличивают и производят настройку следующего настраиваемого модуля (M),if the value of the service marker (K) is less than the value of the total number of configurable modules (M), the value of the service marker (K) is increased and the next configurable module (M) is configured, в случае, если значение служебного маркера (K) становится соответствующим общему количеству настраиваемых модулей (M), производят настройку последнего настраиваемого модуля (M); иif the value of the service marker (K) becomes corresponding to the total number of customizable modules (M), the last customizable module (M) is configured; And - производят инсталляцию и/или обновление ВМПО в соответствии с изменяемыми параметрами состава устройства.- install and/or update VMPO in accordance with the changing parameters of the device composition. 2. Способ по п. 1, отличающийся тем, что в структуре кода-дескриптора для первого модуля отведено три первых бита, что составляет восемь комбинаций для свойств, для второго модуля – пара битов, что составляет четыре комбинации свойств, для I-го модуля выделяют поле битов рядом с битом J, при этом последний бит N выделяется последнему настраиваемому модулю (М).2. The method according to claim 1, characterized in that in the structure of the descriptor code the first three bits are allocated for the first module, which is eight combinations for properties, for the second module - a pair of bits, which is four combinations of properties, for the first module allocate a field of bits next to the J bit, with the last N bit allocated to the last configurable module (M).
RU2023115593A 2023-06-14 Method of changing firmware RU2815184C1 (en)

Publications (1)

Publication Number Publication Date
RU2815184C1 true RU2815184C1 (en) 2024-03-12

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015952A1 (en) * 2001-04-18 2004-01-22 Domosys Corporation Method of remotely upgrading firmware in field-deployed devices
US20060015844A1 (en) * 2003-07-30 2006-01-19 Wrd Corporation Automatic hardware and firmware generation for multi-function custom controls
US20100325622A1 (en) * 2007-12-13 2010-12-23 Derek Morton Updating Firmware of an Electronic Device
US8869138B2 (en) * 2011-11-11 2014-10-21 Wyse Technology L.L.C. Robust firmware update with recovery logic
RU2630371C2 (en) * 2014-12-15 2017-09-07 Сяоми Инк. Firmware update method and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015952A1 (en) * 2001-04-18 2004-01-22 Domosys Corporation Method of remotely upgrading firmware in field-deployed devices
US20060015844A1 (en) * 2003-07-30 2006-01-19 Wrd Corporation Automatic hardware and firmware generation for multi-function custom controls
US20100325622A1 (en) * 2007-12-13 2010-12-23 Derek Morton Updating Firmware of an Electronic Device
US8869138B2 (en) * 2011-11-11 2014-10-21 Wyse Technology L.L.C. Robust firmware update with recovery logic
RU2630371C2 (en) * 2014-12-15 2017-09-07 Сяоми Инк. Firmware update method and device

Similar Documents

Publication Publication Date Title
US5930504A (en) Dynamic nonvolatile memory update in a computer system
CN104166565B (en) A kind of intelligent display terminal firmware upgrade method
US6834347B2 (en) Target self-security for upgrades for an embedded device
RU2147392C1 (en) Software control process in system of base station of multiple access with code-division of channels in system of personal communication
US8245217B2 (en) Management of software and operating system updates required for the process of creating a virtual machine facsimile of an existing physical or virtual machine
US6553490B1 (en) Computer system including local computer with capability to automatically update operating system or application program from network server
KR20060114618A (en) System and method for managing and communicating software updates
CN108848418B (en) Set-top box centralized upgrading method
US20110131564A1 (en) Systems and methods for generating a version identifier for a computing system based on software packages installed on the computing system
US20110066838A1 (en) Information processing device, information processing method, and computer program and integrated circuit for the realization thereof
US20190095187A1 (en) Incremental updates in static libraries
EP1956482A1 (en) Generating delta updates for a processing device
WO2021139727A1 (en) Software upgrade method for robot, and upgrade server, robot and storage medium
JP2003196104A (en) System for high availability firmware load
KR20230005046A (en) Methods and Apparatuses for Installing a Device Application
RU2815184C1 (en) Method of changing firmware
US20050039196A1 (en) Method and system for using a library
US7222258B2 (en) Compressing a firmware image
CN112565891B (en) Secret key burning and secret key matching method based on different storage devices of smart television
CN111142922A (en) Application program updating method and device, terminal and server
CN109933358B (en) Control method for reducing program upgrading amount of metering equipment
CN116431186A (en) Upgrading method, device and medium of vehicle-mounted ECU
CN112148377B (en) Method and device for preventing SSD from abnormal power failure in EFI Shell environment
WO2004114129A2 (en) Embedded device with software registry
CN114842596A (en) Tax control service system supporting offline