CN116679946A - Firmware upgrading method and terminal - Google Patents

Firmware upgrading method and terminal Download PDF

Info

Publication number
CN116679946A
CN116679946A CN202211467812.8A CN202211467812A CN116679946A CN 116679946 A CN116679946 A CN 116679946A CN 202211467812 A CN202211467812 A CN 202211467812A CN 116679946 A CN116679946 A CN 116679946A
Authority
CN
China
Prior art keywords
firmware
terminal
upgrade
target
version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211467812.8A
Other languages
Chinese (zh)
Inventor
陈锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202211467812.8A priority Critical patent/CN116679946A/en
Publication of CN116679946A publication Critical patent/CN116679946A/en
Pending legal-status Critical Current

Links

Abstract

The application provides a firmware upgrading method and a terminal, which relate to the technical field of terminals and can solve the problem that firmware upgrading on some operating systems cannot be effective, wherein the method comprises the following steps: the terminal receives a first upgrading instruction from a server; the first upgrading instruction is used for indicating to upgrade the operating system of the terminal from the current version to the target version; entering a starting flow of the terminal based on the first upgrading instruction; the method comprises the steps that a starting process of the terminal comprises a fast starting fastboot stage, and program codes of the fastboot stage comprise target program codes which are used for upgrading target firmware; the target firmware is included in at least one firmware; when entering a fastboot stage in a starting process of the terminal, the terminal acquires an upgrade file matched with a target firmware based on a target program code; and the terminal carries out version upgrading on the target firmware based on the upgrading file.

Description

Firmware upgrading method and terminal
Technical Field
The present application relates to the field of terminal technologies, and in particular, to a firmware upgrade method and a terminal.
Background
Terminals (such as mobile phones) adopting an Android system gradually become the main stream of the terminal market. Current Android systems typically use embedded multimedia memory cards (embedded multi media card, eMMC) or universal flash storage (universal flash storage, UFS) as flash storage devices. The flash memory device may implement a corresponding function by running firmware (firmware) algorithm inside the flash memory device. With frequent updates of the terminal operating system, the firmware of the flash memory device also needs to be upgraded to repair problems or add functionality.
Currently, firmware upgrades for flash memory devices are performed by the terminal at the time of booting the operating system kernel (kernel). However, due to the limitation of kernel rights, some versions of operating systems need to have kernel rights to upgrade the firmware of the flash memory device, so that these versions of operating systems cannot upgrade the firmware of the flash memory device when kernel is started because they do not have kernel rights, and thus firmware upgrades on these versions of operating systems cannot be effective.
Disclosure of Invention
The embodiment of the application provides a firmware upgrading method and a terminal, which are used for solving the problem that firmware upgrading on some operating systems cannot be effective.
In order to achieve the above purpose, the embodiment of the present application adopts the following technical scheme:
in a first aspect, a firmware upgrade method is provided, applied to a terminal having a memory device, where the memory device includes at least one firmware; the method comprises the following steps: the terminal receives a first upgrading instruction from a server; the first upgrading instruction is used for indicating to upgrade the operating system of the terminal from the current version to the target version; entering a starting flow of the terminal based on the first upgrading instruction; the method comprises the steps that a starting process of the terminal comprises a fast starting fastboot stage, and program codes of the fastboot stage comprise target program codes which are used for upgrading target firmware; the target firmware is included in at least one firmware; when entering a fastboot stage in a starting process of the terminal, the terminal acquires an upgrade file matched with a target firmware based on a target program code; and the terminal carries out version upgrading on the target firmware based on the upgrading file.
Based on the first aspect, when the terminal receives an operating system upgrade instruction (i.e., a first upgrade instruction) from the server, the terminal enters a start-up procedure of the terminal, the start-up procedure of the terminal includes a fastboot stage, and since program codes of the fastboot stage include target program codes, the target program codes are used for upgrading the target firmware, and the target firmware is included in at least one firmware, when entering the fastboot stage in the start-up procedure of the terminal, the terminal can obtain an upgrade file matched with the target firmware based on the target program codes, and upgrade a version of the target firmware based on the upgrade file, thereby being capable of solving the problem that firmware upgrade on some operating systems cannot be effective.
In one implementation manner of the first aspect, the terminal obtains an upgrade file matched with the target firmware, including: the terminal acquires a firmware upgrade package matched with device information of the storage device; the firmware upgrade package comprises at least one upgrade file corresponding to at least one firmware, and each upgrade file in the at least one upgrade file corresponds to an offset address; and the terminal acquires the upgrade file matched with the target firmware from at least one upgrade file based on the offset address of the upgrade file matched with the target firmware.
In this implementation manner, the terminal may obtain the firmware upgrade package matched with the device information of the storage device based on the device information of the storage device, and since the firmware upgrade package includes at least one upgrade file corresponding to at least one firmware, each upgrade file in the at least one upgrade file corresponds to an offset address, the terminal may obtain the upgrade file matched with the target firmware from the at least one upgrade file based on the offset address of the upgrade file matched with the target firmware, so that accuracy of the obtained upgrade file can be ensured.
In one implementation manner of the first aspect, the terminal obtains a firmware upgrade packet matched with device information of the storage device, including: the terminal acquires firmware upgrading data; the firmware upgrading data comprises a plurality of firmware upgrading packages, the plurality of firmware upgrading packages correspond to the plurality of types of storage devices, and different firmware upgrading packages correspond to the different types of storage devices; the terminal selects a firmware upgrade package matched with the device information of the storage device from a plurality of firmware upgrade packages based on the device information of the storage device; wherein the device information of the memory device is used to indicate the type of the memory device.
In the implementation manner, the terminal firstly acquires firmware upgrade data, and the firmware upgrade data comprises a plurality of firmware upgrade packages, wherein the plurality of firmware upgrade packages correspond to a plurality of types of storage devices, and different firmware upgrade packages correspond to different types of storage devices; that is, the firmware upgrade data includes firmware upgrade packages corresponding to a plurality of types of memory devices, so that the terminal can select a firmware upgrade package matching with device information of the memory devices from the plurality of firmware upgrade packages, that is, select a firmware upgrade package corresponding to a type of the memory device, thereby ensuring accuracy of the acquired firmware upgrade package.
In one implementation manner of the first aspect, the method further includes: the terminal performs upgrading verification based on pre-stored data information; the data information comprises one or more of a data identifier of the firmware upgrade data, the number of firmware upgrade packages included in the firmware upgrade data and the data size of the firmware upgrade data; the terminal obtains firmware upgrade data, including: after the verification is successful, the terminal acquires firmware upgrade data.
In this implementation manner, the terminal may verify the firmware upgrade data based on the pre-stored data information, that is, the terminal verifies the firmware upgrade data based on the data identifier of the pre-stored firmware upgrade data, the number of firmware upgrade packages included in the firmware upgrade data, and the data size of the firmware upgrade data; after the verification is successful, the terminal acquires the firmware upgrading data, so that the accuracy of the acquired firmware upgrading data can be ensured.
In one implementation manner of the first aspect, a plurality of firmware upgrade packages in firmware upgrade data are preloaded into a first partition of a storage device in a format of an image file; the terminal obtains firmware upgrade data, including: the terminal acquires firmware upgrade data from the first partition.
In the implementation manner, since the plurality of firmware upgrade packages in the firmware upgrade data are preloaded into the first partition of the storage device in the format of the image file, the terminal can acquire the firmware upgrade data from the first partition, the complexity of acquiring the firmware upgrade data by the terminal is reduced, and the communication efficiency is improved.
In an implementation manner of the first aspect, the upgrade file is used to upgrade the target firmware from the current version to the target version, and an intermediate version is further included between the target version and the current version; the terminal carries out version upgrade on the target firmware based on the upgrade file, and the method comprises the following steps: the terminal acquires an intermediate file from the firmware upgrade package; the intermediate file is used for upgrading the target firmware from the current version to the intermediate version; after the target firmware is upgraded from the current version to the intermediate version, the terminal upgrades the target firmware from the intermediate version to the target version based on the upgrade file.
In the implementation manner, since the intermediate version is further included between the target version and the current version, the terminal can obtain the intermediate file from the firmware upgrade package first, and since the intermediate file is used for upgrading the target firmware from the current version to the intermediate version, the terminal can upgrade the target firmware from the intermediate version to the target version based on the intermediate file after upgrading the target firmware from the current version to the first version and then upgrade the target firmware from the intermediate version to the target version based on the upgrade file, so that the version of the target firmware can be continuously upgraded.
In an implementation manner of the first aspect, the upgrade file is obtained through an over-the-air technology; or the upgrade file is obtained by fastboot.
A second aspect provides a terminal having the functionality of implementing the first aspect; the functions can be realized by hardware, and can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the functions described above.
In a third aspect, a terminal is provided that includes a memory device including at least one firmware, and one or more processors; a memory device is coupled to the processor, the memory device for storing computer program code, the computer program code comprising computer instructions; the computer instructions, when executed by the processor, cause the terminal to perform the steps of: the terminal receives a first upgrading instruction from a server; the first upgrading instruction is used for indicating to upgrade the operating system of the terminal from the current version to the target version; entering a starting flow of the terminal based on the first upgrading instruction; the method comprises the steps that a starting process of the terminal comprises a fast starting fastboot stage, and program codes of the fastboot stage comprise target program codes which are used for upgrading target firmware; the target firmware is included in at least one firmware country; when entering a fastboot stage in a starting process of the terminal, the terminal acquires an upgrade file matched with a target firmware based on a target program code; and the terminal carries out version upgrading on the target firmware based on the upgrading file.
In a possible implementation manner of the third aspect, when the processor executes the computer instructions, the terminal is caused to specifically perform the following steps: the terminal acquires a firmware upgrade package matched with device information of the storage device; the firmware upgrade package comprises at least one upgrade file corresponding to at least one firmware, and each upgrade file in the at least one upgrade file corresponds to an offset address; and the terminal acquires the upgrade file matched with the target firmware from at least one upgrade file based on the offset address of the upgrade file matched with the target firmware.
In a possible implementation manner of the third aspect, when the processor executes the computer instructions, the terminal is caused to specifically perform the following steps: the terminal acquires firmware upgrading data; the firmware upgrading data comprises a plurality of firmware upgrading packages, the plurality of firmware upgrading packages correspond to the plurality of types of storage devices, and different firmware upgrading packages correspond to the different types of storage devices; the terminal selects a firmware upgrade package matched with the device information of the storage device from a plurality of firmware upgrade packages based on the device information of the storage device; wherein the device information of the memory device is used to indicate the type of the memory device.
In a possible implementation manner of the third aspect, when the processor executes the computer instructions, the terminal is caused to further perform the steps of: the terminal performs upgrading verification based on pre-stored data information; the data information comprises one or more of a data identifier of the firmware upgrade data, the number of firmware upgrade packages included in the firmware upgrade data and the data size of the firmware upgrade data; the terminal obtains firmware upgrade data, including: after the verification is successful, the terminal acquires firmware upgrade data.
In a possible implementation manner of the third aspect, a plurality of firmware upgrade packages in the firmware upgrade data are preloaded into a first partition of the storage device in a format of an image file; when the processor executes the computer instructions, the terminal is caused to specifically execute the following steps: the terminal acquires firmware upgrade data from the first partition.
In a possible implementation manner of the third aspect, the upgrade file is used to upgrade the target firmware from the current version to the target version, and an intermediate version is further included between the target version and the current version; when the processor executes the computer instructions, the terminal is caused to specifically execute the following steps: the terminal acquires an intermediate file; the intermediate file is used for upgrading the target firmware from the current version to the intermediate version; after the target firmware is upgraded from the current version to the first version, the terminal upgrades the target firmware from the intermediate version to the target version based on the upgrade file.
In a possible implementation manner of the third aspect, the upgrade file is obtained through an over-the-air technology; or the upgrade file is obtained by fastboot.
In a fourth aspect, a system on a chip is provided, comprising at least one processor and at least one interface circuit; the processor is interconnected with the interface circuit through a circuit; wherein the processor is configured to execute computer instructions to implement the method of the first aspect or any one of the first aspects.
In a fifth aspect, there is provided a computer readable storage medium having instructions stored therein which, when run on a computer, cause the computer to perform the method of any of the first aspects above.
In a sixth aspect, there is provided a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of any of the first aspects above.
The technical effects of any one of the design manners of the second aspect to the sixth aspect may be referred to the technical effects of the different design manners of the first aspect, and will not be repeated here.
Drawings
Fig. 1 is a schematic structural diagram of a terminal according to an embodiment of the present application;
Fig. 2 is a schematic diagram of a start-up procedure of a terminal according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of another terminal according to an embodiment of the present application;
fig. 4 is a flowchart of a firmware upgrading method according to an embodiment of the present application;
FIG. 5 is a flowchart illustrating another firmware upgrade method according to an embodiment of the present application;
FIG. 6 is a flowchart illustrating a firmware upgrade method according to an embodiment of the present application;
FIG. 7 is a flowchart illustrating a firmware upgrade method according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of a chip system according to an embodiment of the present application.
Detailed Description
In order that those skilled in the art will better understand the solution of the present embodiment of the present application, the technical solution of the present embodiment of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiment of the present application, and it is apparent that the described embodiment is only a part of the embodiment of the present application, not all the embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, shall fall within the scope of the application.
The terms "first" and "second" are used below for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include one or more such feature. In the description of the embodiments of the present application, unless otherwise indicated, the meaning of "a plurality" is two or more.
Before describing embodiments of the present application, some technical terms related to the embodiments of the present application will be explained first.
And (3) firmware: refers to a driver that implements the basic functions of a device or device (e.g., a flash memory storage device) and may be installed in the device or device (or understood to be installed in the device or device's chip). In some embodiments, an upgrade file may be obtained to upgrade (or upgrade) the firmware. The firmware is upgraded by obtaining an upgrade file through Over The Air (OTA) technology; or the firmware can be upgraded by transmitting the upgrade file through the USB.
Native code: refers to the initial code of a native operating system (e.g., android operating system, iOS operating system, or windows operating system, etc.) published by some native platform providers. For example, android version 3.0 code, android version 4.0 code, etc., which are typically not modified by third party developers.
Spreading code: refers to the code of an extended operating system that is obtained by a third party developer, such as an original equipment manufacturer (original equipment manufacturer, OEM) or application software developer, on the basis of native code, modifying the native code in order to achieve some specific functions and services.
The modification to the native code may specifically include adding a new code field to the native code, deleting some fields in the native code, or modifying some fields in the native code, which is not limited in any way by the embodiments of the present application.
The method provided by the embodiment of the application can be applied to various types of terminals, and the terminals in the embodiment of the application can be any terminal such as mobile phones, tablet computers, desktop computers, laptop computers, handheld computers, notebook computers, ultra-mobile personal computer, UMPC (unified personal computer), netbooks, cellular phones, personal digital assistants (personal digital assistant, PDA), enhanced displays (augmented reality, AR)/Virtual Reality (VR), and the like, and of course, in the following embodiments, the specific form of the terminal is not limited.
In the embodiment of the application, the terminal can comprise a hardware layer, an operating system layer running on the hardware layer and an application layer running on the operating system layer. As shown in fig. 1, the hardware layer may include hardware such as a central processing unit (central processing unit, CPU), a memory management unit (memory management unit, MMU), and a memory (also referred to as a main memory or storage device). The operating system may be any one or more computer operating systems that implement business processes through processes, such as an Android operating system, an iOS operating system, or a windows operating system. Fig. 1 illustrates an Android operating system as an example. The application layer comprises applications such as a browser, an address book, word processing software, instant messaging software and the like.
In some embodiments, the terminal may enter the start-up procedure of the terminal when the terminal has a start-up requirement. For example, the terminal enters a starting flow of the terminal when the terminal performs a machine brushing; or the terminal enters a starting flow of the terminal when restarting; or, the terminal updates the operating system to enter the starting flow of the terminal.
Taking an operating system of a terminal as an Android operating system as an example, a starting process of the terminal can be divided into two stages, wherein the first stage is the starting of Linux, and the second stage is the starting of Android (which can be called as an upper starting process). Fig. 2 is a startup flow frame diagram based on an Android operating system. As shown in fig. 2, the startup procedure includes Bootloader 01, kernel02, and Android 03. Bootloader 01 and Kernel02 are the start-up flows of the first stage, and Android 03 is the start-up flow of the second stage.
In some embodiments, bootloader is primarily a preparation hardware environment that directs the start of Kernel. Bootloader may include, among other things, a master boot loader (primary boot loader, PBL), an extended boot loader (eXtensible boot loader, XBL), and a fastboot program.
Wherein, the PBL is that the terminal responds to the operation of the starting key by the user, the boot terminal starts to execute from the preset code solidified in the read-only memory (ROM), and then loads the boot program into the random access memory (random access memory, RAM). The XBL is a section of program which runs before the operation system runs, and is the first program which runs; the XBL is used for guiding the memory to initialize and start. The fastboot is used to load an image file of an operating system into RAM, and then jump to an entry of the image file to execute the file, which may also be referred to as a boot loading mode.
In some embodiments, after Kernel is loaded into memory by Kernel, the Kernel boot phase is entered first, and at the end of the Kernel boot phase, the start_kernel is called to enter the Kernel start phase, mainly to complete most of the initialization work of the Kernel.
In some embodiments, android may be referred to as an upper boot flow, and is mainly used for a Linux kernel, a hardware abstraction layer (hardware abstraction layer, HAL), a system runtime, an application framework layer (framework), an application layer, and the like of a boot terminal.
It should be noted that the above-described start-up procedure of the terminal is merely an example of the present application, and it is understood that the principle of the start-up procedure of the terminal is basically the same, and in actual implementation, the start-up procedure of the terminal may include more or fewer steps than those described above, or a combination of the steps, which is not specifically limited by the present application.
Currently, firmware upgrades for memory devices (e.g., flash memory devices) are performed by Kernel in the first phase of the boot process. But starting from the Android S version, some third party developers choose to develop their own extended functions on the native code of the Kernel (i.e., kernel) in order to implement some specific functions and services. These codes capable of implementing the extension function may be referred to as extension codes, i.e., the extension codes are obtained by modifying the native code based on the native code of Kernel.
Due to the permission limitation of the extension code in the Kernel, on some versions (such as Android S) of the operating system, the original developer cannot invasively modify the code in any Kernel (such as Kernel image file, boot. Img), so that firmware upgrading of the flash memory storage device cannot be realized in the Kernel in the first stage. As such, firmware upgrades on these versions of the operating system cannot take effect.
In order to solve the above problems, an embodiment of the present application provides a firmware upgrade method, which can implement version upgrade of firmware of a storage device. Specifically, the method comprises the following steps: the terminal adds a target program code in the program code running in the fastboot stage, and the target program code can enable the terminal to carry out firmware upgrading in the fastboot stage; when the terminal starts and enters the fastboot stage, the terminal can call the target program code to upgrade the firmware of the storage device.
The memory device may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk memory device, a flash memory device, a universal flash memory (universal flash storage, UFS), etc. In the embodiment of the application, a FLASH memory device (or referred to as a FLASH device) is taken as an example of the memory device. The memory device is deployed at the hardware level of the terminal shown in fig. 1. The hardware layers of the terminal are described below in connection with fig. 3: as shown in fig. 3, the hardware layer of the terminal 100 may include a management device 110 and a first flash memory device 120.
It should be noted that, the management device 110 and the first flash memory device 120 may be integrated together, or may be two devices independent from the terminal 100, which is not limited by the present application. The following embodiments are described with respect to the management device 110 and the first flash memory device 120 as being independent of the terminal 100.
The management device 110 is, for example, a control center of the terminal 100, and may control the terminal 100 to perform various functions and data processing. The management device 110 may be a chip with a memory device (such as a random access memory), for example, the management device 110 may be a system on chip (SoC). As shown in fig. 3, the management device 110 may include a processor 1101. Wherein the processor 1101 may be a central processing unit (central processing unit, CPU), the processor 1101 may comprise one or more processing units, for example: the processor 1101 may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a memory, a video codec, a digital signal processor (digital signal processor, DSP), a baseband processor, and/or a neural network processor (neural-network processing unit, NPU), etc. Wherein the different processing units may be separate devices or may be integrated in one or more processors.
A memory may be provided in the processor 1101 for storing instructions and data. In some embodiments, the memory in the processor 1101 is a cache memory. The memory may hold instructions or data that the processor 1101 has just used or recycled. If the processor 1101 needs to reuse the instruction or data, it may be called directly from the memory. Repeated accesses are avoided and the latency of the processor 1101 is reduced, thus improving the efficiency of the system.
In some embodiments, the processor 1101 may include one or more interfaces. The interfaces may include an integrated circuit (inter-integrated circuit, I2C) interface, an integrated circuit built-in audio (inter-integrated circuit sound, I2S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous receiver transmitter (universal asynchronous receiver/transmitter, UART) interface, a mobile industry processor interface (mobile industry processor interface, MIPI), a general-purpose input/output (GPIO) interface, a subscriber identity module (subscriber identity module, SIM) interface, and/or a universal serial bus (universal serial bus, USB) interface, among others.
The first flash memory device 120 is mainly used for storing software, data, etc. in a terminal, for example, storing operating system software, and can also have software, graphics, documents, etc. As shown in fig. 3, the first flash memory device 120 may include a first flash controller 1201 and a storage medium 1202. The first flash memory device 120 may be an eMMC memory device or a UFS memory device; the storage medium may be a NAND flash memory chip for storing data. In an embodiment of the present application, the first flash memory device 120 includes at least one firmware, and the at least one firmware includes a target firmware.
The first flash controller 1201 may be responsible for controlling and communicating with the inside or outside. In one aspect, the first flash controller 1201 may be responsible for operations of reading, writing, erasing, address space management, and the like, of the storage medium in the first flash memory device 120. On the other hand, the first flash controller 1201 may be responsible for communication of the first flash memory device 120 with the management device 110 in the terminal. For example, the first flash controller 1201 may receive and respond to a command of the management device 110 in the terminal, implement storing data to be stored by the management device 110 in the terminal onto a corresponding storage medium, and take out data to be read by the management device 110 in the terminal from the corresponding storage medium and transmit the data to the management device 110 in the terminal.
It should be noted that, the first flash controller 1201 includes at least one firmware, that is, at least one driver, and when the first flash controller 1201 is started, the first flash controller 1201 may operate the at least one firmware to control the first flash memory device 120 to perform a corresponding function. That is, in the embodiment of the present application, upgrading the firmware in the first flash controller means that the target firmware in the first flash controller is upgraded from the current version to the target version.
In the embodiment of the application, the target program code is added in the program code running in the fastboot stage of the terminal, and the target program code can enable the terminal to carry out firmware upgrading in the fastboot stage. Illustratively, as shown in connection with fig. 3, the implementation-capable management device 110 of the target program code issues an upgrade instruction to the first flash memory device 120 when entering the fastboot stage, where the upgrade instruction is used to instruct to upgrade the target firmware of the first flash controller 1201 from the current version to the target version. Further, the object program code can also realize that when the management device 110 enters the fastboot stage, the first flash controller 1201 obtains the upgrade file matched with the object firmware. For example, the upgrade file may be transmitted to the first flash controller 1201 by the management device 110 when entering the fastboot phase.
In some embodiments, the terminal may start a start-up procedure of the terminal and enter a fastboot stage in response to an operating system upgrade instruction when receiving the operating system upgrade instruction from the server. In other embodiments, the terminal may start to run the start-up procedure of the terminal when the terminal is in a boot state, and enter the fastboot stage. The application is not limited to the specific implementation mode of the terminal entering the fastboot stage.
It should be noted that the terminal 100 shown in fig. 3 is only an example of the present application, and in actual implementation, the terminal 100 may have more or less components than those shown in the drawings, may combine two or more components, or may have a configuration of different components, which is not limited in this regard.
The firmware upgrading method provided by the embodiment of the application can be applied to the terminal 100 with the hardware structure, and the technical scheme provided by the embodiment of the application is described in detail below with reference to the drawings of the embodiment of the application. The following embodiments exemplify a start-up procedure for starting to run the terminal when the terminal receives an operating system upgrade instruction from the server.
Fig. 4 is a flowchart of a firmware upgrade method according to an embodiment of the present application, as shown in fig. 4, where the method may include the following steps.
S201, the server sends a first upgrading instruction to the management device.
Correspondingly, the management device receives a first upgrade instruction from the server.
The first upgrading instruction is used for indicating to upgrade the operating system of the terminal from the current version to the target version.
In some embodiments, the operating system of the terminal may be upgraded from the current version to the target version in either one or two ways. One of the first ways is to upgrade the operating system of the terminal from the current version to the target version by wired communication, for example, upgrade the operating system of the terminal from the current version to the target version by universal serial bus (universal serial bus, USB) communication. The USB mode refers to, for example, connecting a terminal (such as a mobile phone) to other devices (such as a computer) through a USB data line, installing a driver of a version of an operating system of the terminal to a target version on the other devices, then loading the driver of the target version into the terminal, and upgrading the operating system by the terminal based on the driver of the target version.
The second mode may be, for example, upgrading the operating system of the terminal from the current version to the target version by means of wireless communication, such as upgrading the operating system of the terminal from the current version to the target version by means of over-the-air technology (OTA). The OTA mode means that the server establishes a wireless communication connection with the terminal through a wireless communication interface, then transmits a driver of a target version of an operating system of the terminal to the terminal through the wireless communication interface, and the terminal upgrades the version of the operating system of the terminal based on the driver of the target version.
In some embodiments, if the version upgrade of the target firmware is performed in the above manner, the server sends the first upgrade instruction to the management device when detecting that the terminal is connected to the other device through the USB data line. In other embodiments, if the version upgrade of the target firmware is performed in the second mode, the server sends the first upgrade instruction to the management device when the server detects that the operating system of the terminal needs to be upgraded.
S202, responding to the first upgrading instruction, and entering a starting process. And the management device sends a second upgrading instruction to the first flash memory controller when entering a fastboot stage in the starting process.
Correspondingly, the first flash controller receives a second upgrading instruction sent by the management device.
The second upgrade instruction is used for indicating that the target firmware is upgraded in version.
It can be understood that, since the target program code is added to the program code running in the fastboot stage, the target program code is used for calling the target program code to upgrade the version of the target firmware when the terminal enters the fastboot stage. Alternatively, the target program code may be preconfigured with the program code that needs to be executed when the program code runs in the fastboot stage, so that when the management device enters the fastboot stage, the management device may query the program code that needs to be executed, call/execute the target program code, determine that the target firmware is to be upgraded based on the target program code, and then send a second upgrade instruction to the first flash controller.
S203, responding to the second upgrading instruction, and carrying out version upgrading on the target firmware by the first flash memory controller.
It is understood that the first flash controller performs version upgrade on the target firmware refers to upgrading the target firmware in the first flash controller from the current version to the target version. Namely, the first flash controller writes the upgrade file matched with the target firmware into the first flash controller.
In the embodiment of the application, the target program code is added in the program code running in the fastboot stage by the terminal, and the target program code can realize that the management device sends the second upgrading instruction to the first flash memory controller when entering the fastboot stage, so that the terminal can carry out version upgrading on the target firmware by the first flash memory controller by sending the second upgrading instruction to the first flash memory controller when entering the fastboot stage.
In some embodiments, firmware upgrade data is stored in the server, where the firmware upgrade data includes a plurality of firmware upgrade packages, and each firmware upgrade package in the plurality of firmware upgrade packages corresponds to a different type (e.g., different model) of flash memory storage device. Because the flash memory storage devices of different models are produced by different manufacturers, the firmware upgrade data comprises a plurality of firmware upgrade packages which can be firmware upgrade packages corresponding to the flash memory storage devices of different models produced by different manufacturers.
For example, firmware upgrade packages corresponding to different types of flash memory devices manufactured by various manufacturers may be packaged into an image file (the image file may be named ufs _fw.bin) and stored in a server. That is, the firmware upgrade data stored in the server is saved in the format of an image file.
In some embodiments, when the server stores the firmware upgrade data in the form of an image file, the firmware upgrade data further includes corresponding target information (which may be denoted as preHdr). Illustratively, the target information includes first identification information, quantity information, packet size information, and the like. The first identification information is used for indicating the identification of the firmware upgrading data; the quantity information is used for indicating the quantity of firmware upgrade packages included in the firmware upgrade data; the packet size information is used to indicate the size of firmware upgrade data.
For example, the first identification information may be represented as magic1, the number information may be represented as dirty_num, and the packet size information may be represented as ppkg_size.
Further, the target information may further include second identification information, third identification information, and firmware information. The second identification information is used for indicating the identification of each manufacturer (or can also be the model number of the flash memory storage device, the name of the flash memory storage device and the like); the third identification information is used for indicating the identifications of the firmware upgrade packages corresponding to different manufacturers; the firmware information is used for indicating information of each upgrade file in a plurality of upgrade files included in the firmware upgrade package. Such as identification of the upgrade file, version information of the upgrade file, etc.
For example, the second identification information may be represented as firmware hdr, and the third identification information may be represented as firmware body, an identification of the upgrade file included in the firmware information, and a version identification of the upgrade file. The identifier of the upgrade file may be denoted as magic2, and the version identifier of the upgrade file may be denoted as src_pnm.
In some embodiments, the server may store the target information in the form of a table or array. By way of example, the target information may be as shown in table 1 below.
TABLE 1
It should be noted that the target information shown in table 1 is only some examples of the present application, and of course, the target information may also include other information, which is not limited by the embodiment of the present application.
In table 1, the firmware upgrade package 1 (e.g., bridge1_firmware. Bin) refers to a file format corresponding to the firmware upgrade package. In addition, the upgrade file firmware1body includes upgrade files of different versions of the target firmware. If the target_firmware_bin corresponds to the upgrade file of the target firmware under the target_fw_rev version, the bridg1_firmware_bin corresponds to the upgrade file of the target firmware under the bridg1_fw_rev version.
It can be appreciated that in the embodiment of the present application, the operating system of the terminal may be upgraded from the current version to the target version in one or two ways. When the operation system of the terminal is upgraded from the current version to the target version in the first mode, the server can send firmware upgrade data to the management device through a USB communication mode. When the operating system of the terminal is upgraded from the current version to the target version in the second mode, the server can send firmware upgrade data to the management device in an OTA mode.
Further, after the management device receives the firmware upgrade data sent by the server, the management device loads the firmware upgrade data into the first partition of the management device. For example, as shown in connection with fig. 3 above, where the management device includes a random access memory, the management device may load firmware upgrade data into a first partition of the random access memory, which may be denoted as ufs _fw.
In the embodiment of the application, the server can send the firmware upgrade data to the management device in a first mode (such as a USB communication mode) or a second mode (such as an OTA mode). Further, after the management device receives the firmware upgrade data sent by the server, the management device may load the firmware upgrade data into the first partition of the random access memory of the management device in different manners. For example, as shown in fig. 5, if the server sends the firmware upgrade data to the management device in a first manner, the management device first stores the firmware upgrade data into a Double Data Rate (DDR) synchronous dynamic random access memory, and then the management device reads the firmware upgrade data from the DDR and loads the firmware upgrade data into a first partition of the management device in a fastboot manner. Correspondingly, if the server sends the firmware upgrading data to the management device in the second mode, the management device stores the firmware upgrading data packet into the DDR, and then the management device reads the firmware upgrading data from the DDR and loads the firmware upgrading data to the first partition of the management device in an OTA mode.
Currently, in the related art, firmware upgrade data is stored in a management device in a format of an image file by the management device, and subsequently, when the management device reads the firmware upgrade data, the firmware upgrade data is read through an address of the firmware upgrade data; therefore, the flash first flash controller is required to issue a read instruction carrying the address of the firmware upgrade data to the management device to acquire the firmware upgrade data. In the embodiment of the application, the firmware upgrade data is loaded to the first partition of the management device, and the first partition is mainly divided for storing the firmware upgrade data, so that the management device can directly read the firmware upgrade data in the first partition and send the firmware upgrade data to the first flash memory controller.
After the management device loads the firmware upgrade data into the first partition, further, the management device may send a second upgrade instruction to the first flash controller when entering the fastboot stage, and send the firmware upgrade data to the first flash controller. In some embodiments, when the management device sends a second upgrade command to the first flash controller, the second upgrade command carries firmware upgrade data.
In some embodiments, as shown in fig. 6, the method further comprises the following steps before the management device sends the firmware upgrade data to the first flash controller.
S204, the management device performs upgrading verification based on the pre-stored data information.
Illustratively, the data information includes one or more of a data identification of the firmware upgrade data (e.g., migic 1), data of a firmware upgrade package included in the firmware upgrade data (e.g., dirty_num), and a data size of the firmware upgrade data (e.g., pkgsize).
In some embodiments, the management device performs upgrade checking based on the pre-stored data information, which means that: the management device determines whether the data information of the firmware upgrade data matches the pre-stored data information. If the data information of the firmware upgrading data is matched with the pre-stored data information, checking is passed, and the management device continues to execute the following steps; if the data information of the firmware upgrading data is not matched with the pre-stored data information, the verification is not passed, and the management device does not continue to execute the following steps.
S205, the management device sends firmware upgrade data to the first flash controller.
Accordingly, the first flash controller receives firmware upgrade data from the management device.
In some embodiments, the management device sends the firmware upgrade data to the first flash controller via an over-the-air technique. In other embodiments, the management device sends the firmware upgrade data to the first flash controller by way of a fastboot.
S206, the first flash controller acquires a firmware upgrade package matched with the device information of the first flash memory device based on the device information of the first flash memory device.
It is understood that the firmware upgrade data includes a plurality of firmware upgrade packages, the plurality of firmware upgrade packages corresponding to a plurality of types of storage devices, and different firmware upgrade packages corresponding to different types of storage devices. The types of different memory devices can be distinguished by the model number of the memory device, the name of the memory device or the name of the manufacturer of the memory device.
In the embodiment of the application, the device information of the first flash memory device may indicate the model of the first flash memory device. On this basis, the first flash controller may select a firmware upgrade package matching the model of the first flash memory device from the plurality of firmware upgrade packages based on the model of the first flash memory device.
S207, the first flash controller acquires an upgrade file matched with the target firmware from the firmware upgrade package.
In some embodiments, the firmware upgrade package includes: at least one upgrade file corresponding to the at least one firmware, each of the at least one upgrade file corresponding to an offset address. On this basis, the first flash controller may acquire an upgrade file matching the target firmware from a plurality of upgrade files based on the offset address of the upgrade file matching the target firmware, and parse the upgrade file.
It should be noted that, after the first flash controller obtains the firmware upgrade package, that is, obtains at least one upgrade file, the first flash controller first stores the at least one upgrade file in a storage medium of the first flash memory device. On this basis, at least one upgrade file occupies a certain segment of the address of the storage medium of the first flash memory device. Thus, the upgrade file matched with the target firmware occupies a certain address in the section of address. Wherein, a certain address occupied by the upgrade file matched with the firmware may be called an offset address, and the offset address refers to an offset of the address occupied by the upgrade file matched with the firmware in the section of address relative to a first address in the section of address.
For example, it is assumed that the firmware upgrade package includes 100 upgrade files, the 100 upgrade files occupy a certain segment address of the storage medium of the first flash memory device, and the upgrade file matched with the target firmware is the 10 th upgrade file in the 100 upgrade files, so that the address corresponding to the upgrade file is offset by 10 positions with respect to the first address (1), that is, the offset address corresponding to the upgrade file is 10.
In this embodiment, since the management device performs upgrade verification on the firmware upgrade data based on the data information stored in advance before transmitting the firmware upgrade data to the first flash controller; if the verification is passed, the management device sends firmware upgrade data to the first flash controller so as to ensure the accuracy of the firmware upgrade data. Further, after the first flash memory controller receives the firmware upgrade data, a firmware upgrade package matched with the device information of the first flash memory storage device is obtained based on the device information of the first flash memory storage device, and an upgrade file matched with the target firmware is obtained based on the offset address of the target firmware, so that the upgrade file matched with the target firmware can be accurately obtained.
In the embodiment of the application, after the first flash memory control obtains the upgrade file matched with the target firmware, the first flash memory controller writes the upgrade file into the first flash memory controller, so that the version upgrade of the target firmware is realized.
In some embodiments, if the version between the current version of the target firmware and the target version is discontinuous, there are multiple intermediate versions (or called bridged versions), such as the current version of the target firmware is the first version (or version 1.0) and the target version is the third version (or version 3.0), there is a second version (or version 2.0) between the current version and the target version. On the basis, the first flash controller can upgrade the target firmware from the first version to the second version (or called version 2.0) and then upgrade the target firmware from the second version to the third version, namely, realize continuous upgrade of the version of the target firmware. For example, as shown in fig. 7, the method may further include the following steps.
S208, the first flash controller determines whether the firmware upgrade package matched with the storage device comprises an intermediate file of the target firmware.
Wherein the intermediate file (or bridge file) is used to upgrade the target firmware from the first version to the second version.
In some embodiments, if the firmware upgrade package includes an intermediate file, the first flash controller performs the following steps (S209-S212). If the firmware upgrade package does not include the intermediate file, the first flash controller performs the following steps (S211-S212).
In the embodiment of the application, the intermediate file can be preconfigured in the firmware upgrade package. As shown in table 1, the intermediate file may be, for example, an upgrade file corresponding to the version bridge 1_fw_rev; or an upgrade file corresponding to the bridge2_fw_rev version.
S209, the first flash controller writes the intermediate file into the first flash controller.
For example, after the first flash controller writes the intermediate file to the first flash controller, the target firmware in the first flash controller may be upgraded from the first version to the second version.
S210, initializing target firmware by the first flash controller.
The first flash controller initializes the target firmware to enable the intermediate file to be immediately effective in the target firmware.
In some embodiments, if there are multiple intermediate versions between the current version of the target firmware and the target version, the first controller repeatedly performs S208 until no intermediate files are present in the firmware upgrade package.
S211, the first flash controller writes the upgrade file matched with the target firmware (namely, the upgrade file of the latest version of the target firmware) into the first flash controller.
For example, after the first flash controller writes the upgrade file matched with the target firmware into the first flash controller, the target firmware in the first flash controller may be upgraded from the second version to the third version.
S212, initializing target firmware by the first flash controller.
The first flash controller initializes the target firmware to enable the upgrade file to be immediately effective in the target firmware.
For example, the first flash controller initializing the target firmware may be denoted as ufs _reinit. Wherein ufs _reinit may cause the upgraded target firmware to immediately take effect.
Based on the flow illustrated in FIG. 7, as shown in Table 1 above, in some embodiments, it is assumed that the current version of the target firmware is src_fwrev and the target version is tar_fwrev, and that the bridge 1_fwrev version is also included between the src_fwrev version and the tar_fwrev version. Therefore, the embodiment of the application can upgrade the target firmware from the src_fwrev version to the bridge1_fw_rev version, and then upgrade the target firmware from the bridge1_fw_rev version to the tar_fw_rev version. Since the firmware upgrade package is preconfigured with the upgrade file (or intermediate file) of the bridge1_fw_rev version of the target firmware, continuous upgrade of the version of the target firmware can be realized.
In the embodiment of the application, the target firmware is upgraded from the first version to the third version, and the second version is further included between the third version and the first version, and because the intermediate file is preconfigured in the firmware upgrade package, the first flash controller can acquire the intermediate file from the firmware upgrade package, upgrade the target firmware from the first version to the second version, and then upgrade the target firmware from the second version to the third version based on the upgrade file corresponding to the third version, so that continuous upgrade of the version of the target firmware can be realized.
The flow shown in fig. 7 of the present application is merely an example of the present application, and is not intended to limit the present application. Of course, other versions may be further included between the current version and the target version of the target firmware, so that the first flash controller needs to determine whether the firmware upgrade package further includes intermediate files corresponding to the other versions, and the specific implementation process of the first flash controller may refer to the above embodiment and will not be described herein.
The content described in each embodiment of the present application can explain and describe the technical solutions in other embodiments of the present application, and the technical features described in each embodiment can also be applied in other embodiments, and form new solutions in combination with the technical features in other embodiments, and the present application is only described by way of example and not by way of limitation.
The embodiment of the application provides a terminal, which comprises a storage device and one or more processors; the memory device has stored therein computer program code comprising computer instructions which, when executed by the processor, cause the terminal to perform the respective functions or steps performed by the management device and the first flash controller in the above-described embodiments. The structure of the terminal may refer to the structure of the terminal shown in fig. 3.
The embodiments of the present application also provide a computer-readable storage medium including computer instructions that, when executed on a terminal, cause the terminal to perform the functions or steps performed by the management device and the first flash controller in the above embodiments.
The present application also provides a system on a chip 1800, as shown in FIG. 8, which includes at least one processor 1801 and at least one interface circuit 1802, the processors being interconnected with the interface circuit. The processor 1801 may be the processor 1101 shown in fig. 3 in the above embodiment. The interface circuit 1802 may be, for example, an interface circuit between the processor 1101 and an external memory; or an interface circuit between the processor 1101 and an internal memory.
The processor 1801 and interface circuit 1802 described above may be interconnected by wires. For example, interface circuit 1802 may be used to receive signals from other devices, such as a memory of a terminal. For another example, interface circuit 1802 may be used to send signals to other devices (e.g., processor 1801). The interface circuit 1802 may, for example, read instructions stored in a memory device and send the instructions to the processor 1801. The instructions, when executed by the processor 1801, may cause the management device to perform the steps performed by the management device in the above embodiments, or may cause the first flash controller to perform the steps performed by the first flash controller in the above embodiments. Of course, the system-on-chip may also include other discrete devices, which are not particularly limited in accordance with embodiments of the present application.
It will be apparent to those skilled in the art from this description that, for convenience and brevity of description, only the above-described division of the functional modules is illustrated, and in practical application, the above-described functional allocation may be performed by different functional modules according to needs, i.e. the internal structure of the apparatus is divided into different functional modules to perform all or part of the functions described above.
In the several embodiments provided by the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the modules or units is merely a logical functional division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another apparatus, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and the parts displayed as units may be one physical unit or a plurality of physical units, may be located in one place, or may be distributed in a plurality of different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a readable storage medium. Based on such understanding, the technical solution of the embodiments of the present application may be essentially or a part contributing to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium, including several instructions for causing a device (may be a single-chip microcomputer, a chip or the like) or a processor (processor) to perform all or part of the steps of the method described in the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read Only Memory (ROM), a random access memory (random access memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The foregoing is merely illustrative of specific embodiments of the present application, but the scope of the present application is not limited thereto, and any changes or substitutions within the technical scope of the present application should be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (10)

1. A firmware upgrade method, characterized by being applied to a terminal having a memory device including at least one firmware; the method comprises the following steps:
the terminal receives a first upgrading instruction from a server; the first upgrading instruction is used for indicating to upgrade the operating system of the terminal from a current version to a target version;
entering a starting flow of the terminal based on the first upgrading instruction; the method comprises the steps that a starting process of the terminal comprises a fast starting fastboot stage, and program codes of the fastboot stage comprise target program codes which are used for carrying out firmware upgrading on target firmware; the target firmware is included in the at least one firmware;
when entering the fastboot stage in the starting process of the terminal, the terminal acquires an upgrade file matched with the target firmware based on the target program code;
and the terminal carries out version upgrading on the target firmware based on the upgrading file.
2. The method of claim 1, wherein the terminal obtains an upgrade file matched with the target firmware, comprising:
the terminal acquires a firmware upgrade package matched with device information of the storage device; the firmware upgrade package comprises at least one upgrade file corresponding to the at least one firmware, and each upgrade file in the at least one upgrade file corresponds to an offset address;
And the terminal acquires the upgrade file matched with the target firmware from the at least one upgrade file based on the offset address of the upgrade file matched with the target firmware.
3. The method of claim 2, wherein the terminal obtains a firmware upgrade package that matches device information of the storage device, comprising:
the terminal acquires firmware upgrade data; the firmware upgrading data comprises a plurality of firmware upgrading packages, the plurality of firmware upgrading packages correspond to a plurality of types of storage devices, and different firmware upgrading packages correspond to different types of storage devices;
the terminal selects a firmware upgrade package matched with the device information of the storage device from the plurality of firmware upgrade packages based on the device information of the storage device;
wherein the device information of the memory device is used to indicate the type of the memory device.
4. A method according to claim 3, characterized in that the method further comprises:
the terminal performs upgrading verification based on pre-stored data information; the data information comprises one or more of a data identifier of the firmware upgrade data, the number of firmware upgrade packages included in the firmware upgrade data and the data size of the firmware upgrade data;
The terminal obtains firmware upgrade data, including: after the verification is successful, the terminal acquires firmware upgrade data.
5. The method of claim 3 or 4, wherein a plurality of firmware upgrade packages in the firmware upgrade data are preloaded into a first partition of the storage device in the form of an image file; the terminal obtains firmware upgrade data, including:
and the terminal acquires the firmware upgrading data from the first partition.
6. The method of any of claims 2-5, wherein the upgrade file is used to upgrade the target firmware from a current version to a target version, the target version and the current version further comprising an intermediate version therebetween; the terminal carries out version upgrade on the target firmware based on the upgrade file, and the method comprises the following steps:
the terminal acquires an intermediate file from the firmware upgrade package; the intermediate file is used for upgrading the target firmware from the current version to the intermediate version;
after the target firmware is upgraded from the current version to the intermediate version, the terminal upgrades the target firmware from the intermediate version to the target version based on the upgrade file.
7. The method according to any one of claims 1-6, wherein the upgrade file is obtained by over-the-air technology; or the upgrade file is obtained in the fastboot mode.
8. A terminal, comprising: a memory device and one or more processors, the memory device comprising at least one firmware; the memory device is coupled to the processor, the memory device for storing computer program code, the computer program code comprising computer instructions; the computer instructions, when executed by the processor, cause the terminal to perform the method of any of claims 1-7.
9. A system on a chip comprising at least one processor and at least one interface circuit; the processor is interconnected with the interface circuit through a circuit; wherein the processor is configured to execute computer instructions to implement the method of any of claims 1-7.
10. A computer-readable storage medium comprising computer instructions; the computer instructions, when run on a terminal, cause the terminal to perform the method of any of claims 1-7.
CN202211467812.8A 2022-11-22 2022-11-22 Firmware upgrading method and terminal Pending CN116679946A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211467812.8A CN116679946A (en) 2022-11-22 2022-11-22 Firmware upgrading method and terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211467812.8A CN116679946A (en) 2022-11-22 2022-11-22 Firmware upgrading method and terminal

Publications (1)

Publication Number Publication Date
CN116679946A true CN116679946A (en) 2023-09-01

Family

ID=87779703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211467812.8A Pending CN116679946A (en) 2022-11-22 2022-11-22 Firmware upgrading method and terminal

Country Status (1)

Country Link
CN (1) CN116679946A (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120246633A1 (en) * 2009-09-29 2012-09-27 Lg Innotek Co., Ltd. Electronic book and system for firmware upgrade of electronic book
CN103092634A (en) * 2011-10-31 2013-05-08 四川长虹电器股份有限公司 Set-top box software upgrading method for multiple flash devices
CN106843946A (en) * 2017-01-04 2017-06-13 努比亚技术有限公司 A kind of firmware update and terminal
CN111367556A (en) * 2020-02-28 2020-07-03 苏州浪潮智能科技有限公司 Device and method for flashing BMC (baseboard management controller) Flash
CN111813428A (en) * 2020-06-02 2020-10-23 西安闻泰电子科技有限公司 Method and device for upgrading terminal firmware, electronic equipment and storage medium
CN114006901A (en) * 2021-12-31 2022-02-01 广州鲁邦通物联网科技股份有限公司 Embedded network equipment cover-dismounting-free firmware upgrading method and system
CN114816491A (en) * 2021-01-21 2022-07-29 深圳联友科技有限公司 System upgrading method and device for multi-system mobile terminal and terminal

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120246633A1 (en) * 2009-09-29 2012-09-27 Lg Innotek Co., Ltd. Electronic book and system for firmware upgrade of electronic book
CN103092634A (en) * 2011-10-31 2013-05-08 四川长虹电器股份有限公司 Set-top box software upgrading method for multiple flash devices
CN106843946A (en) * 2017-01-04 2017-06-13 努比亚技术有限公司 A kind of firmware update and terminal
CN111367556A (en) * 2020-02-28 2020-07-03 苏州浪潮智能科技有限公司 Device and method for flashing BMC (baseboard management controller) Flash
CN111813428A (en) * 2020-06-02 2020-10-23 西安闻泰电子科技有限公司 Method and device for upgrading terminal firmware, electronic equipment and storage medium
CN114816491A (en) * 2021-01-21 2022-07-29 深圳联友科技有限公司 System upgrading method and device for multi-system mobile terminal and terminal
CN114006901A (en) * 2021-12-31 2022-02-01 广州鲁邦通物联网科技股份有限公司 Embedded network equipment cover-dismounting-free firmware upgrading method and system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王勇,文良华编: "《嵌入式系统设计 基于ARM与Linux》", vol. 978, 30 September 2022, 成都:四川大学出版社, pages: 111 - 113 *

Similar Documents

Publication Publication Date Title
US9301164B2 (en) Method, system, and terminal for performing system update between mobile communication terminals
RU2402804C2 (en) Method of booting host device from mmc/sd device, host device bootable from mmc/sd device and mmc/sd device from which host device may be booted
US8468332B2 (en) Dynamic link loading in extensible firmware interface compliant systems
CN109062617B (en) Application method of platform supporting multiple types of equipment and mobile terminal
KR101555210B1 (en) Apparatus and method for downloadin contents using movinand in portable terminal
US8539214B1 (en) Execution of a program module within both a PEI phase and a DXE phase of an EFI firmware
CN105739961A (en) Starting method and device of embedded system
GB2463809A (en) Peripheral device operation method, peripheral device and host
CN114138333B (en) Program loading method and related device
CN109426527B (en) Computer system and method for sharing Bluetooth data between UEFI firmware and operating system
CN110515671B (en) Initialization method, initialization device, terminal device and readable storage medium
CN110297726B (en) Computer system with serial presence detection data and memory module control method
CN116467015B (en) Mirror image generation method, system start verification method and related equipment
CN116679946A (en) Firmware upgrading method and terminal
CN115291951A (en) UEFI (unified extensible firmware interface) starting method and device, electronic equipment and storage medium
CN105204896A (en) BootLoader design method of digital storage oscilloscope
CN116302122A (en) Multi-core heterogeneous domain controller, peripheral adaptation method and storage medium
CN112783438B (en) Memory using method of functional mobile phone and related products
CN112463244B (en) CPU starting method and device, electronic equipment and computer readable storage medium
CN114489852B (en) Memory chip starting method and device, computer equipment and storage medium
CN114579198B (en) Memory chip starting method and device, computer equipment and storage medium
CN116865407B (en) Charging method and terminal equipment
CN117873580A (en) Operating system switching method, chip and device
CN116069370A (en) Method, apparatus, storage medium and computer program product for upgrading a cold patch
CN114125902A (en) WWAN equipment and configuration method, device and storage medium thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination