WO2021115477A1 - 程序升级方法、装置、电子设备及存储介质 - Google Patents
程序升级方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- WO2021115477A1 WO2021115477A1 PCT/CN2020/136077 CN2020136077W WO2021115477A1 WO 2021115477 A1 WO2021115477 A1 WO 2021115477A1 CN 2020136077 W CN2020136077 W CN 2020136077W WO 2021115477 A1 WO2021115477 A1 WO 2021115477A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- application
- group
- upgrade
- program
- updated
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000015654 memory Effects 0.000 claims description 76
- 230000002093 peripheral effect Effects 0.000 claims description 26
- 230000006870 function Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 abstract description 18
- 230000003993 interaction Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000012795 verification Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000009977 dual effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 241000030538 Thecla Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Definitions
- This application relates to the field of power supplies, and in particular to a program upgrade method, device, electronic equipment, and storage medium.
- the power module when the power module is being upgraded, it will shut down, and it will not be able to supply power normally after shutting down, resulting in insufficient power supply for the device, which in turn causes the device to fail to work normally.
- An external power supply or an additional backup power module can be configured to supplement the power supply for the device. If the device is a communication device and it is installed on a high pole, it is difficult to connect an external power source at this time. The additional configuration of a backup power module will result in more power consumption, leading to an increase in the power supply cost of the device.
- This application provides methods, devices, electronic equipment, and storage media for program upgrades.
- An embodiment of the present application provides a program upgrade method, including: running a first application program group; during the running of the first application program group, obtaining an upgrade package of an application program to be upgraded, and updating the first application program group according to the upgrade package.
- the application program to be upgraded in the second application program group the first application program group is the same as the second application program group, the first application program group is located in the first storage area, and the second application program group is located in the first storage area.
- Two storage areas; the update of the application to be upgraded in the second application group is completed, run the updated second application group, and update the application to be upgraded in the first application group according to the upgrade package Program so that the updated first application group is the same as the updated second application group.
- An embodiment of the present application provides a program upgrade device, including: a current application program group running module, used to run a first application program group; an upgrade package upgrade module, used to obtain during the operation of the first application program group Upgrade package of the application program to be upgraded, and update the application program to be upgraded in the second application program group according to the upgrade package, the first application program group is the same as the second application program group, and the first application program The group is located in the first storage area, and the second application group is located in the second storage area, so that the updated first application group is the same as the updated second application group; the application group running module is updated for After the update of the application program to be upgraded in the second application program group is completed, the updated second application program group is run, and the application program to be upgraded in the first application program group is updated according to the upgrade package.
- An embodiment of the present application provides an electronic device, including: at least one processor and a memory; the processor is configured to execute a program stored in the memory to implement any method in the embodiments of the present application.
- the embodiment of the present application provides a storage medium storing a computer program, and when the computer program is executed by a processor, any one of the methods in the embodiments of the present application is implemented.
- Fig. 1 is a flowchart of a program upgrade method in an embodiment of the application
- Figure 2 is a schematic diagram of a storage area in an embodiment of the application.
- FIG. 3 is a schematic diagram of an application group storage area in a storage area in an embodiment of the application
- FIG. 4 is a schematic diagram of a storage area before upgrade in an embodiment of the application
- FIG. 5 is a schematic diagram of the upgraded storage area in an embodiment of the application.
- FIG. 6 is a schematic diagram of a single CPU running a non-main application program in a flash memory in an embodiment of the application;
- FIG. 7 is a schematic diagram of a dual CPU running a non-main application program in a flash memory in an embodiment of the application
- FIG. 8 is a schematic diagram of a single CPU running a non-main application program in the memory in an embodiment of the application;
- FIG. 9 is a schematic diagram of dual CPUs running non-main application programs in memory in an embodiment of the application.
- FIG. 10 is a schematic diagram of a power supply device in an embodiment of the application.
- FIG. 11 is a flowchart of a program upgrade method applied to a power supply device in an embodiment of the application
- FIG. 12 is a flowchart of a program upgrade method applied to a power supply device in an embodiment of the application
- FIG. 13 is a schematic diagram of a program upgrade device in an embodiment of the application.
- FIG. 14 is a schematic diagram of the structure of an electronic device in an embodiment of the present invention.
- FIG. 1 is a flowchart of a program upgrade method provided by an embodiment of the application. This embodiment is applicable to the situation where the application program in the electronic device is upgraded when the electronic device is working normally.
- the method can be provided by the embodiment of the application.
- the program upgrade device is implemented, which can be implemented by software and/or hardware, and can generally be integrated into electronic equipment. As shown in Figure 1, it specifically includes:
- the first application program group is a collection of application programs required by the electronic device to realize normal operation. At least one application can be included.
- the electronic device is a power device, which may be a power device integrated by one or more power modules.
- the power supply is used to supply power to communication equipment.
- the running the first application group includes: running the first main application in the first application group.
- the application program group includes a main application program and at least one non-main application program.
- the main application is used to implement the functions of the electronic device.
- the running of the main application it needs to obtain the running result of at least one non-main application (which may be the final result of running or the intermediate result of running) before it can run normally or continue to run.
- the running of the main application is associated with other non-main applications in the application group.
- running the first application group actually means starting to run from the first address of the first main application in the first application group. More specifically, loading the first main application on the processor (Central Processing Unit (CPU) starts to run in the memory. At the same time, the operation of the first main application program may involve the operation of the first non-main application program of the first application group except the first main application program or the operation result provided by the historical operation.
- CPU Central Processing Unit
- the first main application program is always running and waiting for a trigger signal to respond.
- the trigger signal may be issued by the first non-main application program.
- the completion of a response can be regarded as the completion of the current round of task execution of the first main application.
- the main application program is a control program that sets the DC voltage function for feedback control output, where the main application program needs to obtain the feedback value, process the feedback value, obtain the corresponding control instruction, and send it to at least one external Set up equipment to control each peripheral device to increase or decrease the voltage in the circuit, so as to ensure that the voltage is stable at the target DC voltage value, where the feedback value is obtained by the operation of the non-main application program.
- the main application and the non-main application are running at different times.
- the upgrade of the non-main application program will affect the result or the running process of the main application program. Only the upgrade of the non-main application program.
- the power module in the prior art also needs to be restarted, and the normal operation of the power module cannot be realized. Perform online program upgrades.
- the completion of the current round of task execution of the main application program may refer to the completion of a feedback control output.
- the main application program needs to generate a feedback value according to the transient change. Send the corresponding control command to control the peripheral device to respond to the transient change.
- a feedback control output is completed, that is, the current round of task execution of the main application program is completed; or
- a feedback control output is completed, that is, the current round of task execution of the main application program is completed.
- the application group storage area is used to store a main application program and a non-main application program
- the main application program is loaded into the memory to run
- the program runs by being loaded into the memory, or runs in a storage area formed by the first storage area and the second storage area.
- the main application is loaded and run in the memory, which can improve the real-time performance of the main application.
- the real-time requirements of non-main application programs and bootloaders are not high, and they can be loaded and run in the memory or run directly in the flash memory (Flash).
- flash flash memory
- the storage area also stores data required by the application program or running results output by the application program, etc.
- the real-time performance of the application can be improved.
- computing resources can be allocated reasonably, the burden of memory can be reduced, and the number of IOs can be reduced.
- the application to be upgraded refers to the application in the application group that needs to be upgraded.
- the upgrade package is used to upgrade at least one application program to be upgraded, and includes update data corresponding to at least one application program to be upgraded.
- the first application program group always keeps normal operation. That is, the operation of the first application program group and the upgrading of the application program to be upgraded in the second application program group are performed at the same time.
- the first application group is the same as the second application group, indicating that the first application group and the second application group can implement the same function, and the electronic device can replace the first application group and the second application group to run, both can be To achieve normal operation, for example, to supply power to communication equipment normally.
- the first application program group and the second application program group are both used for the power supply device to realize the output setting DC voltage conversion function based on feedback control, so as to provide the target DC voltage for the communication device.
- the first application group and the second application group are the same when the power supply device leaves the factory, and at the same time, after each update, the first application group and the second application group are the same.
- the first application group is located in the first storage area
- the second application group is located in the second storage area, indicating that the first application group and the second application group are stored in different locations.
- the first storage area and the second storage area are both areas in the storage area, and the stored data is the same.
- the storage area is actually the area on the Flash.
- the first storage area and the second storage area each include a bootloader storage area and an application group storage area.
- the first storage area is the same, the application group is located in the application group storage area, the boot loader is located in the boot loader storage area, and the boot loader is used to update the application program to be upgraded according to the upgrade package, and boot loading Application group.
- the bootloader is a program that runs before the operating system kernel runs, and is used to initialize hardware devices and establish a map of memory space, etc., to build the software and hardware environment required for the operating system kernel to run Call the operating system kernel correctly in the environment.
- the application programs of the application program group all use the operating system as the operating environment.
- the boot loader runs before the application group runs and has the authority to upgrade the application group, so the boot loader is used to update the application to be upgraded according to the upgrade package.
- Both the first storage area and the second storage area store a boot loader and an application program group, that is, separately obtaining the stored data in each storage area can realize independent and correct operation of the application program group, thereby realizing the normal operation of the electronic device. It is understandable that the first storage area and the second storage area are not only mutual backups, but also programs that can run normally are stored in each storage area.
- each storage area stores application program groups and bootloaders, to ensure that the programs in each storage area can run independently and normally, and to keep the programs in the two storage areas synchronized to ensure that the two storage areas
- the programs in the area can be replaced with each other to ensure that the programs in the application group can be upgraded online.
- the application group storage area includes at least one functional unit area, different functional unit areas store different applications in the application group, and different functional unit areas are stored in different Flash areas.
- the application program group storage area is divided according to the application program. As shown in FIG. 3, the corresponding relationship between the application program and the functional unit area can be established to facilitate the identification of the storage location of the application program to be upgraded. Update the functional unit area corresponding to the application program to be upgraded, reducing the workload of program upgrading and improving the efficiency of program upgrading.
- a functional unit area is a Flash area, specifically a Flash sector. A unique digital number can be assigned to each Flash area.
- a Flash area may be one Flash physical sector or multiple Flash physical sectors, that is, there is a single mapping relationship between the functional unit area and the digital number of the Flash area.
- Application program group The storage area includes at least one of the following: a functional unit area for storing main application programs, a functional unit area for storing peripheral initialization program data, and a functional unit area for storing task scheduler data.
- the upgrade package includes the data of all functional unit areas in the application group storage area, including not only the data of the functional unit areas that do not need to be updated, but also the data of the functional unit areas that need to be updated.
- the data of the functional unit area that does not need to be updated is the same as the data of the corresponding functional unit area in the application group storage area, and the data of the functional unit area that needs to be updated is different from the data of the corresponding functional unit area in the application group storage area.
- the data in the upgrade package can be directly written to the application group storage area. As a result, the data in the functional unit area that needs to be updated in the application group storage area is updated, and the data in the functional unit area that does not need to be updated remains unchanged. Thereby, the program of the application group can be upgraded.
- the information of the functional unit area that needs to be updated can also be obtained through the upgrade package, and only the functional unit area that needs to be updated in the application group storage area can be updated to realize the incremental update program.
- the updating the application to be upgraded in the second application group according to the upgrade package includes: obtaining at least one functional unit area to be updated that matches the upgrade package;
- the function or function interface in the bootloader area of the first storage area erases the data in each functional unit area to be updated in the second storage area, and writes the upgrade package.
- the functional unit area to be updated stores the application program to be upgraded, that is, the functional unit area to be updated is the functional unit area that needs to be updated in the application program group storage area.
- a functional unit area to be updated stores a corresponding application program to be updated.
- the information of the functional unit area to be updated is used to determine the functional unit area to be updated. Specifically, it may refer to the identification information of the functional unit area to be updated, such as the storage location in the storage area or the area number of the functional unit area to be updated.
- the upgrade of the application program to be upgraded is actually to update the corresponding update data in the upgrade package to the functional unit area to be updated that stores the application program to be upgraded. Specifically, the functional unit area to be updated is erased and the upgrade package is Write the corresponding update data in.
- the currently running program is the first application group, that is, the operating environment of the first application group at this time is built by the bootloader in the first storage area, and the upgrade of the application group is performed by the bootloader Program implementation.
- the function or function interface is used to realize functions such as erasing and writing of the storage area of the application group.
- the function interface or function in the storage area of the bootloader can be called to realize the operation of the bootloader to erase the data in each functional unit area to be updated, and to write the upgrade package, so as to realize the realization of the data in each functional unit area to be updated.
- the stored applications to be upgraded are upgraded.
- the acquiring at least one functional unit area to be updated that matches the upgrade package includes: receiving information about at least one functional unit area to be updated that matches the upgrade package; or according to the The upgrade package and the application program group determine the information of at least one functional unit area to be updated that matches the upgrade package.
- the information of the functional unit area to be updated sent by the upgrade interaction unit that communicates with the electronic device may be directly received, where the upgrade interaction unit may communicate with the electronic device through wired or wireless communication.
- the upgrade interactive unit can receive the .out file or hex file that stores the data stored in the application group storage area, which is used to store the code data corresponding to the application group and the upgrade package file, compare it, and query the functional unit area with differences
- the file can be received through wired (such as U disk transmission) or wireless network transmission.
- the electronic device directly compares the .out file or hex file of the data stored in the application group storage area and the upgrade package file, queries the functional unit area with differences, and determines at least one functional unit area to be updated that matches the upgrade package Information.
- the functional unit area to be updated that needs to be updated can be determined, and the functional unit area to be updated can be accurately determined, thereby achieving incremental upgrades and avoiding all application group storage areas Updates result in a large workload and low efficiency of the update, thereby improving the efficiency of updating the application group storage area and increasing the speed of application upgrades.
- the memory includes a main application core information fixed area and a main application core information reserved area.
- the main application core information fixed area is used to store current core parameters required for the operation of the main application.
- the main application core information reserved area is used to store the extended core parameters required for the operation of the main application, the memory address of each core parameter is fixed, and the core parameter is used by the first main application and the second main application.
- the current core parameters may refer to static variables or global variables required by the main application in the application group.
- the main application core information fixed area is used to store the current core parameters.
- the extended core parameters can refer to the data that is currently not needed by the main application in the application group, but the static variables or global variables required in the future. For example, it can be the static variables or global variables required by the main application after the upgrade.
- the initial value of the extended core parameter is 0, which needs to be assigned later.
- the main application core information reserved area is used to store extended core parameters. Both the current core parameters and the extended core parameters are used by the first main application and the second main application.
- the storage locations of the main application core information fixed area and the main application core information reserved area are fixed, and the memory address of each core parameter (including the current core parameter and the extended core parameter) stored therein is also fixed.
- the initial value of the extended core parameter is 0, and the main application needs to add a new core parameter.
- the core parameter is the value of the current core parameter (such as x) plus 1, and the extended core parameter can be assigned a value of x+1.
- the extended core parameters are used as static variables or global variables of the main application during the running of the main application.
- the core parameters associated with the application group before and after the application group switch that is, for the core information associated with the application group before the switch to be used by the application group after the switch
- these core parameters need to be stored in a fixed storage location in the preset memory, so that the first application group and the second application group Both can be obtained from the storage location in the preset memory.
- Configuring the core parameters directly in the memory can increase the speed of obtaining the core parameters, thereby increasing the speed of the main application switching operation.
- the core parameters associated with the first application group can be used by the second application group, ensuring that the first application group and the second application group Switch the continuity of the core parameters during the operation, so as to ensure the stable operation of the electronic equipment.
- the update of the application program to be upgraded in the second application program group is completed, indicating that this program upgrade is completed, and at least one application program to be upgraded that needs to be upgraded in this program upgrade has been upgraded.
- Running the updated second application group that is, the electronic device changes from running the first application group to running the updated second application group, which actually changes from running the pre-upgraded application group to running the upgraded application Program group, so as to realize online upgrade program.
- the program upgrade method, device, electronic device, and storage medium provided in the embodiments of the present application update the second application program group that is the same as the first application program group when the first application program group is running, and update the second application program group in the second application program group.
- the running the updated second application group includes: verifying the updated second application group; if the calculated verification code matches the upgrade package, If the verification code is the same, the verification is passed, and the updated second application group is run.
- the updated program needs to be verified.
- the verification is used to determine whether the second application group is upgraded correctly.
- the check code matching the upgrade package may be data issued together with the upgrade package. Passing the verification indicates that it is guaranteed that the second application group has been correctly upgraded according to the upgrade package.
- the check method may be to obtain the data of the second application program group, perform cyclic redundancy check code (Circulating Redundancy Code, CRC) calculation, and compare it with the check code matched by the upgrade package. If the calculated check code is the same as the check code matched by the upgrade package, the check is passed; otherwise, the check fails. If it is determined that the verification fails, continue to run the first application group and feedback a verification failure message, and then continue to update the second application group, or write the first application group into the application group in the second storage area The storage area, so that the second application program group is returned to an unupgraded state, and remains the same as the first application program group.
- CRC cyclic redundancy check code
- the method further includes: updating the upgrade flag bit as an upgrade; the running the updated second application group includes: if the upgrade flag bit is determined To upgrade, it is determined whether the second main application in the second application group is an application to be upgraded; if so, when the current round of task execution of the first main application is completed, run the post-update And update the upgrade flag to non-upgrade; otherwise, run the second main application and update the upgrade flag to non-upgrade.
- the upgrade flag bit is used to determine whether there is a program upgrade. After obtaining the upgrade package, the programs in the application group will be upgraded. At this time, the upgrade flag can be configured to indicate that the application group is in an upgraded state.
- the upgrade flag is upgrade, indicating that there is an upgraded application group that is not running in the application group.
- the upgrade flag is non-upgrade, indicating that there is no upgraded application group in the application group, or the upgraded application group is already running.
- the second main application is the main application in the second application group.
- Running the second application program group actually loads the second main application program into the memory, and starts to run from the first address of the second main application program.
- the first main application program may include a cyclic subroutine or an interrupt response subroutine.
- the completion of the current round of task execution of the first main application program may mean the completion of the cycle subroutine or the completion of the interrupt response subroutine.
- the first main application program is a program for feedback control to output a constant DC voltage
- the completion of the current round of task execution of the first main application program may refer to the completion of the current feedback control task execution, that is, the voltage output control command is adjusted in response to the feedback value. , Until the DC voltage in the circuit is adjusted to the target DC voltage, that is, the response subroutine is completed.
- the second main application program is upgraded, when the first main application program is completed, the updated second main application program is run. If the second main application program is not upgraded, the running of the first main application program can be directly replaced with the running of the second main application program. It is understandable that the first main application program and the unupgraded second main application program are the same. Therefore, when the second main application program is not upgraded, it can be directly replaced and run, and the first main application program can be used directly during operation. The intermediate result of the main application program will not affect the integrity of the program execution, nor will it affect the stability of the system.
- the second main application program is upgraded, unlike the first main application program, if the first main application program is directly replaced with the second main application program during the running process of the first main application program, the first main application program is not completely executed, and , The second main application program may not get the same result as the first main application program, or even the opposite result, causing system operation problems.
- the method further includes: updating the area identifier of the second storage area from the upgrade storage area to the running storage area, and updating the first storage area The area identification of the storage area is updated from the operation storage area to the upgrade storage area; the program upgrade method further includes: if it is determined that the upgrade flag bit is non-upgrade, running the main application group in the application program group whose area identification is the operation storage area. application.
- the zone identifier is used to identify whether the application group in it is to be run.
- the area is identified as a running storage area, indicating that the application group located in the storage area is the currently running application group.
- the area is identified as an upgrade storage area, indicating that the application group located in the storage area is the application group to be upgraded, that is, the storage area is the storage area to be updated.
- the judgment of the upgrade flag is usually before running the application group. Before running the application group, judge the upgrade flag. If the upgrade flag is upgrade, it means that the application group is in the process of upgrading and running at the current moment. If the upgrade flag is non-upgrade, it means that the current moment is in the power-on process. in. Exemplarily, the upgrade flag bit is a character string, for example, 0x5555AAAA means upgrade, and 0 means non-upgrade.
- the running storage area runs the application program, and the functional unit area to be updated in the upgrade storage area is erased and written through the boot loader.
- the functional unit areas to be updated are partition 2 (storing the main application program) and partition 4 (storing the application program 1).
- the functional unit area to be updated in the upgrade storage area is updated, that is, after the application group is upgraded, the running storage area and the upgrade storage area are exchanged, and the running storage area shown in Figure 4 becomes as shown in Figure 5.
- the upgrade storage area shown in Figure 4 becomes the running storage area shown in Figure 5.
- the data stored in the updated functional unit area to be updated in the running storage area is synchronized to the transformed upgrade storage area, so that the data in the upgraded running storage area and the upgrade storage area remain consistent.
- the electronic device may include at least one processor, for example, a single processor or a dual processor, the main application programs in the application program group are all loaded and run in the memory, and the non-main application program may be loaded in the memory. It can also be run in Flash.
- Figure 6-9 Figure 6 is a single processor, and the non-main application and boot loader are running in Flash; Figure 7 is a dual processor, and the non-main application and the boot loader are running in Flash ; Figure 8 is a single processor, and the non-main application and boot loader are running in memory; Figure 9 is a dual processor, and the non-main application and the boot loader are running in Flash.
- the non-main application storage area and the main application storage area constitute the application group storage area.
- the electronic device to which the program upgrade method is applied includes a processor
- the running of the updated second main application includes: turning off the interrupt; Load in memory and run; turn on interrupt.
- the electronic device to which the program upgrade method is applied includes at least two processors
- the running of the updated second main application includes: loading the updated second main application In the memory area corresponding to the first processor, and run; turn off the interrupt; replace the second processor to run the second main application with the running result of the updated second main application on the first processor
- the running result of the application program, as the target running result, the first processor is different from the second processor; interrupt is turned on; the updated second main application program is loaded on a processor other than the first processor
- At least one external processor is in the corresponding memory area, and runs.
- At least two processors run the main application program group in parallel, and during the running process, each processor shares the extended core parameters and the current core parameters. You can select the running result of any processor as the target running result for subsequent processing. The operation result of a processor can be selected and switched as the target operation result through the output selection unit.
- each process corresponds to a memory area, and different processors correspond to different memory areas.
- the two processors may include at least two CPUs or one CPU and a Control Law Accelerator (CLA).
- CLA Control Law Accelerator
- the second processor is the source processor of the target running result, that is, the running result of the second processor running the main application program is used as the target running result.
- the first processing is any processor other than the second processor.
- the updated second main application program When at least two processors start to run the updated second main application, first select any processor except the source processor of the target running result, and load the updated second main application in the matching memory Area, and run. At the same time, close the interrupt, select the running result of the processor as the target running result, and then open the interrupt. Afterwards, the updated second main application program is loaded into the memory area corresponding to the processor other than the first processor, and runs, so that the updated second main application program is loaded into the memory area corresponding to all processors. Application program, and run, to ensure that each processor is running the upgraded application program group. Among them, the interrupt switch at this time is used to ensure the correct switching when the operating result source processor is switched, so as to avoid temporary switching and return to the operating result source before the breakpoint.
- the electronic device includes at least two processors, and before erasing data in each functional unit area to be updated in the second storage area, the method further includes: If the application program is an application program to be upgraded, the operation result of the second processor running the first main application program is replaced by the operation result of the first processor running the first main application program as the target operation result.
- the running result of the first processor running the first main application can be used as the target running result, and when it is determined that the first main application needs to be upgraded, switch to the second The running result of the processor running the first main application is taken as the target running result. Therefore, when the first processor runs the second main application program, it is switched to the first processor to run the second main application program as the target operation result, which realizes the parallel operation of the main application program by multiple processors, online upgrade, and the target operation result. Switch correctly.
- the method before determining whether the second main application in the second application group is the application to be upgraded, the method further includes: if the peripheral initialization program is the application to be upgraded, running the upgraded application The peripheral initialization program is used to initialize the peripheral module before the main application program runs.
- Peripheral modules refer to the interface circuits and buses used in power supply devices (such as power supply chips) to connect with external devices.
- peripheral initialization program is not the application program to be upgraded, the second main application program is directly run.
- the data of the peripheral module is updated, so as to ensure the normal operation of the second main application program under the data of the updated peripheral module.
- the electronic device is a power supply device, including two levels, specifically PFC (Power Factor Correction) at the front stage of the power supply device, and DC (Direct Current, direct current) at the back stage of the power supply device.
- PFC Power Factor Correction
- DC Direct Current, direct current
- the downstream DC of the power supply equipment is a direct current circuit
- the PFC at the front of the power supply equipment is an AC circuit.
- Each level of the power supply device can independently implement any of the program upgrade methods provided in the embodiments of the present application.
- Each level of power equipment includes a communication unit, an output selection unit, a main application running unit, and a shared memory unit.
- the upgrade interaction unit is an independent device other than the power supply device, for example, it may be the main control system in the communication system, which is used to monitor whether the power supply device is operating normally.
- the upgrade interaction unit obtains the upgrade package and the pre-upgrade file of the power supply device, where the pre-upgrade file includes data stored in the first storage area and the second storage area.
- the upgrade interaction unit determines the functional unit area to be updated according to the upgrade package and the pre-upgrade file, and sends it to the communication unit together with the upgrade package.
- Each level of the power supply equipment is equipped with a communication unit for communicating with each other and respectively with the upgrade interaction unit, and receives the information and upgrade package of the functional unit area to be updated sent by the upgrade interaction unit; or it can also be one of the first and upgrade interaction units Communication, the other level obtains the information received by the upgrade interaction unit through the communication unit, for example, the power equipment downstream DC interacts with the upgrade interaction unit, and the upgrade data of the power equipment front PFC (including the upgrade package and the information of the functional unit area to be updated) Etc.) By communicating with the downstream DC of the power supply device to receive the upgrade data obtained by the downstream DC of the power supply device from the upgrade interaction unit.
- Each stage of the power supply device includes one or two processors, and the output selection unit is used to select the source processor of the target execution result of the main application when there are at least two processors, that is, which processor runs which main application
- the running result is regarded as the target running result.
- the data stored in different storage areas in the same level of the power supply device are the same, and the data stored in the storage areas in different levels are different, that is, the application program groups run by different processors in the same level in the power supply device
- the non-main application programs in the application program groups run by different processors in different levels may be different or the same, but the main application programs are different.
- the main application program running unit is used to run the main application program, each processor corresponds to a main application program running unit, and different processors correspond to different main application program running units.
- the two processors in the same level of the power supply device share the core parameters with each other through the shared memory unit, and realize the smooth transition of data when the main application program is switched after the upgrade, which ensures the stable output of the power supply module during the switching process.
- the output selection unit performs processing according to the target operation result and provides power output to the main telecommunication equipment.
- the program upgrade method which is applied to the DC level of power supply equipment, can include:
- the upgrade interaction unit receives the pre-upgrade file and the upgrade package.
- the upgrade interaction unit receives the DC-level pre-upgrade file and upgrade package of the power supply device sent by other devices, where the other devices are different from the power supply device.
- the pre-upgrade file can be a .out file or a HEX file containing all the contents of the first storage area or the second storage area of the DC level of the power supply device.
- the upgrade interaction unit determines the information of the functional unit to be updated.
- the upgrade interaction unit compares the pre-level files with the upgrade package, and queries the difference area of the incremental upgrade as the information of the functional unit to be updated. For example, partition 2 and partition 4.
- S203 The power supply device and the upgrade interaction unit trigger a 3-way handshake.
- S204 The power supply device judges whether the handshake is successful, if yes, execute S205; otherwise, execute S206.
- S205 The power supply device updates the upgrade flag to upgrade, and executes S207.
- the value corresponding to the upgrade is 0x5555AAAA.
- S206 The power supply device terminates the upgrade, and feeds back the reason for the handshake failure to the upgrade interaction unit.
- the power supply device obtains the upgrade package and the information of the functional unit to be updated.
- the power supply device can also obtain the CRC code of the upgrade package.
- the power supply device is received through the DC-level communication unit of the power supply device.
- S208 The power supply device judges whether the second main application program is an application program to be upgraded, and if it is, execute S209; otherwise, execute S210.
- S209 The power supply device uses the running result of CPU2 or CLA as the target running result.
- S210 The power supply device starts to erase each functional unit area to be updated in the second storage area and write the upgrade package.
- the DC level of the power supply device calls the interface function of the boot loader to erase each functional unit area to be updated in the second storage area and write the upgrade package.
- the boot loader can erase and write only the functional unit area to be updated, or erase and write the entire second storage area.
- the power supply device judges whether the verification is passed, if yes, execute S213; otherwise, execute S214.
- S213 The power supply device jumps to the updated entry address of the second main application program to start running.
- the entry address of the second main application program is also the first address of the second main application program.
- S215 The power supply device judges whether the upgrade flag is an upgrade, and if it is, execute S220; otherwise, execute S216.
- S216 The power supply device initializes all peripherals.
- the power supply device When the power supply device includes multiple CPUs, the power supply device respectively loads the main application program on the running storage area to CPU1 and CPUS2 or the memory area corresponding to the CLA to run.
- S218 The power supply device uses the running result of the CPU1 as the target running result, and executes S234.
- S220 The power supply device obtains the information of the functional unit area to be updated.
- S221 The power supply device judges whether the peripheral initialization program is an application program to be upgraded, and if it is, execute S222; otherwise, execute S223.
- S222 The power supply device initializes the peripheral module.
- the power supply device determines whether the second main application is an application to be upgraded, and if so, executes S224; otherwise, executes S233.
- S224 The power supply device judges whether the current round of tasks of the first main application program is completed. If so, when the power supply device includes multiple CPUs, execute S225; when the power supply device includes a single CPU, execute S230; otherwise, execute S224.
- S225 The power supply device loads the updated second main application program to the memory area corresponding to the CPU1 to run.
- S226 The power supply device is shut down and interrupted.
- S227 The power supply device uses the running result of the CPU1 as the target running result.
- S229 The power supply device respectively loads the updated second main application program to the memory area corresponding to the CPUS2 or CLA to run, and executes S233.
- S230 The power supply device is shut down and interrupted.
- the power supply device respectively loads the updated second main application program to the memory of the single CPU to run.
- S233 The power supply device updates the upgrade flag bit to non-upgrade.
- S234 The power supply device starts to erase each functional unit area to be updated in the first storage area and write the upgrade package.
- the updated functional unit area to be updated in the second storage area is synchronized to the first storage area, and the first storage area and the second storage area are always kept consistent. Moreover, the adjustment of the operating roles of the first storage area and the second storage area is completed at the same time, and the application group on the first storage area is changed to the application group on the second storage area.
- S235 The power supply device schedules the execution of each non-main application program.
- the non-main application program (functional component) is periodically scheduled to run through the task scheduling function. At this time, the software system composed of the non-main application program, the non-main application program scheduling and the main application program starts to run.
- FIG. 13 is a schematic diagram of a program upgrade apparatus provided by an embodiment of the application.
- This embodiment is a corresponding device that implements the program upgrade method provided in any of the foregoing embodiments of the present application.
- the device may be installed in an electronic device, especially a power supply device that supplies power.
- the current application group running module 310 is used to run the first application group
- the upgrade package upgrade module 320 is configured to obtain the upgrade package of the application program to be upgraded during the operation of the first application program group, and update the application program to be upgraded in the second application program group according to the upgrade package.
- the first application group is the same as the second application group, the first application group is located in a first storage area, and the second application group is located in a second storage area;
- the updated application group running module 330 is used to run the updated second application group after the update of the application to be upgraded in the second application group is completed, and update the first application according to the upgrade package The applications to be upgraded in the group, so that the updated first application group is the same as the updated second application group.
- the program upgrade method, device, electronic device, and storage medium provided in the embodiments of the present application update the second application program group that is the same as the first application program group when the first application program group is running, and update the second application program group in the second application program group.
- the first storage area and the second storage area each include a bootloader storage area and an application group storage area, and the second storage area is the same as the first storage area,
- the application group is located in the application group storage area
- the boot loader is located in the boot loader storage area
- the boot loader is used to update the application program to be upgraded according to the upgrade package and to boot load the application group.
- the application group storage area includes at least one functional unit area, different functional unit areas store different applications in the application group, and different functional unit areas are stored in different flash memory areas.
- the upgrade package upgrade module 320 is further configured to: obtain information about at least one functional unit area to be updated that matches the upgrade package; The function or function interface in the second storage area erases the data in each functional unit area to be updated in the second storage area, and writes the upgrade package.
- the upgrade package upgrade module 320 is further configured to: receive information about at least one functional unit area to be updated that matches the upgrade package; or according to the upgrade package and the application group, Determine the information of at least one functional unit area to be updated that matches the upgrade package.
- the update application group running module 330 is further configured to: verify the updated second application group; if the calculated verification code matches the upgrade package, If the code is the same, the verification is passed, and the updated second application group is run.
- the current application group running module 310 is further configured to: run the first main application in the first application group.
- the program upgrade device is further used for: after obtaining the upgrade package of the application program to be upgraded, updating the upgrade flag bit to upgrade; the updating application group running module 330 is also used for: If it is determined that the upgrade flag is an upgrade, it is determined whether the second main application in the second application group is an application to be upgraded; if so, the task is executed in the current round of the first main application When finished, run the updated second main application and update the upgrade flag to non-upgrade; otherwise, run the second main application and update the upgrade flag to non-upgrade.
- the program upgrade device is further configured to: after updating the upgrade flag bit to non-upgrade, update the area identifier of the second storage area from the upgrade storage area to the running storage area, And update the area identification of the first storage area from the operating storage area to the upgrade storage area; the program upgrade device is further used for: if it is determined that the upgrade flag bit is non-upgrade, the operating location area identification is the operating storage The main application in the application group of the zone.
- the electronic device to which the program upgrade method is applied includes a processor, and the update application group running module 330 is further configured to: turn off interrupts; and load the updated second main application In memory, and running; turn on interrupt.
- the electronic device to which the program upgrade method is applied includes at least two processors
- the updated application group running module 330 is further configured to: load the updated second main application on In the memory area corresponding to the first processor, and running; turn off the interrupt; replace the second processor with the running result of the updated second main application on the first processor to run the second main application
- the running result of the program, as the target running result, the first processor is different from the second processor; interrupt is turned on; the updated second main application program is loaded in addition to the first processor
- At least one of the processors respectively corresponds to the memory area and runs.
- the program upgrade device is further configured to: before judging whether the second main application in the second application group is the application to be upgraded, if the peripheral initialization program is the application to be upgraded Program, the updated peripheral initialization program is run, and the peripheral initialization program is used to initialize the peripheral module before the main application program runs.
- the memory includes a main application core information fixed area and a main application core information reserved area.
- the main application core information fixed area is used to store the current core parameters required for the main application to run.
- the application core information reserved area is used to store the extended core parameters required for the operation of the main application program, the memory address of each core parameter is fixed, and the core parameter is used by the first main application program and the second main application program.
- the application group storage area is used to store a main application program and a non-main application program
- the main application program is loaded into the memory to run, the non-main application program and the boot loader Run by loading into the memory, or run in a storage area formed by the first storage area and the second storage area.
- the above-mentioned program upgrade device can execute the program upgrade method provided in the embodiments of the present application, and has the corresponding functional modules and beneficial effects of the executed program upgrade method.
- the present application provides an electronic device.
- the electronic device includes a processor 401 and a memory 402; the processor 401 is configured to execute a program stored in the memory 402 to implement the method in the foregoing embodiment.
- the electronic device is a power supply device that supplies power to the device.
- the memory can be used to store software programs, computer-executable programs, and modules, such as program instructions/modules corresponding to the program upgrade method in the embodiments of the present application.
- the memory may mainly include a program storage area and a data storage area, where the program storage area may store an operating system and an application program required by at least one function; the data storage area may store data created according to the use of the terminal, etc.
- the memory may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a Flash device, or other non-volatile solid-state storage devices.
- the memory may further include a memory remotely provided with respect to the processor, and these remote memories may be connected to the device through a network. Examples of the aforementioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
- the present application provides a storage medium that stores a computer program, and when the computer program is executed by a processor, the method in the foregoing embodiment is implemented.
- the computer storage medium of the embodiment of the present application may adopt any combination of one or more computer-readable media.
- the computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium.
- the computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or a combination of any of the above. More specific examples of computer-readable storage media (non-exhaustive list) include: electrical connections with one or more wires, portable computer disks, hard disks, RAM, Read Only Memory (ROM), erasable Erasable Programmable Read Only Memory (EPROM), Flash, optical fiber, portable CD-ROM, optical storage device, magnetic storage device, or any suitable combination of the above.
- the computer-readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, apparatus, or device.
- the computer-readable signal medium may include a data signal propagated in baseband or as a part of a carrier wave, and computer-readable program code is carried therein. This propagated data signal can take many forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination of the foregoing.
- the computer-readable signal medium may also be any computer-readable medium other than the computer-readable storage medium.
- the computer-readable medium may send, propagate, or transmit the program for use by or in combination with the instruction execution system, apparatus, or device .
- the program code contained on the computer-readable medium can be transmitted by any suitable medium, including, but not limited to, wireless, wire, optical cable, radio frequency (RF), etc., or any suitable combination of the above.
- suitable medium including, but not limited to, wireless, wire, optical cable, radio frequency (RF), etc., or any suitable combination of the above.
- the computer program code used to perform the operations of this application can be written in one or more programming languages or a combination thereof.
- the programming languages include object-oriented programming languages—such as Java, Smalltalk, C++, and also conventional Procedural programming language-such as "C" language or similar programming language.
- the program code can be executed entirely on the user's computer, partly on the user's computer, executed as an independent software package, partly on the user's computer and partly executed on a remote computer, or entirely executed on the remote computer or server.
- the remote computer may be connected to the user's computer through any kind of network including LAN or WAN, or may be connected to an external computer (for example, using an Internet service provider to connect through the Internet).
- user terminal encompasses any suitable type of wireless user equipment, such as a mobile phone, a portable data processing device, a portable web browser, or a vehicle-mounted mobile station.
- the various embodiments of the present application can be implemented in hardware or dedicated circuits, software, logic or any combination thereof.
- some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software that may be executed by a controller, microprocessor, or other computing device, although the present application is not limited thereto.
- Computer program instructions can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code written in any combination of one or more programming languages or Object code.
- ISA instruction set architecture
- the block diagram of any logic flow in the drawings of the present application may represent program steps, or may represent interconnected logic circuits, modules, and functions, or may represent a combination of program steps and logic circuits, modules, and functions.
- the computer program can be stored on the memory.
- the memory can be of any type suitable for the local technical environment and can be implemented using any suitable data storage technology, such as but not limited to read only memory (ROM), random access memory (RAM), optical storage devices and systems (digital multi-function optical discs) DVD or CD) etc.
- Computer-readable media may include non-transitory storage media.
- the data processor can be any type suitable for the local technical environment, such as but not limited to general-purpose computers, special-purpose computers, microprocessors, digital signal processors (DSP), application-specific integrated circuits (ASIC), programmable logic devices (FGPA) And processors based on multi-core processor architecture.
- DSP digital signal processors
- ASIC application-specific integrated circuits
- FGPA programmable logic devices
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims (17)
- 一种程序升级方法,包括:运行第一应用程序组;在所述第一应用程序组运行的过程中,获取待升级应用程序的升级包,并根据所述升级包更新第二应用程序组中的待升级应用程序,所述第一应用程序组与所述第二应用程序组相同,所述第一应用程序组位于第一存储区,所述第二应用程序组位于第二存储区;所述第二应用程序组中的待升级应用程序更新完毕,则运行更新后的第二应用程序组,并根据所述升级包更新所述第一应用程序组中的待升级应用程序,以使更新后的第一应用程序组与更新后的第二应用程序组相同。
- 根据权利要求1所述的方法,其中,所述第一存储区和所述第二存储区均分别包括引导加载程序存储区和应用程序组存储区,所述第二存储区与所述第一存储区相同,应用程序组位于所述应用程序组存储区,引导加载程序位于所述引导加载程序存储区,所述引导加载程序用于根据升级包更新待升级应用程序,以及引导加载应用程序组。
- 根据权利要求2所述的方法,其中,所述应用程序组存储区包括至少一个功能单元区,不同功能单元区分别存储所述应用程序组中不同应用程序,不同功能单元区分别存储在不同闪存区。
- 根据权利要求3所述的方法,其中,所述根据所述升级包更新第二应用程序组中的待升级应用程序,包括:获取与所述升级包匹配的至少一个待更新功能单元区的信息;通过位于所述第一存储区的引导加载程序区中的函数或功能接口,对所述第二存储区中各所述待更新功能单元区中数据进行擦除,以及将所述升级包写入。
- 根据权利要求4所述的方法,其中,所述获取与所述升级包匹配的至少一个待更新功能单元区,包括:接收与所述升级包匹配的至少一个待更新功能单元区的信息;或者根据所述升级包和所述应用程序组,确定与所述升级包匹配的至少一个待更新功能单元区的信息。
- 根据权利要求1所述的方法,其中,所述运行更新后的第二应用程序组,包括:对更新后的第二应用程序组进行校验;如果计算得到的校验码与所述升级包匹配的校验码相同,则校验通过,并运行更新后的第二应用程序组。
- 根据权利要求1所述的方法,其中,所述运行第一应用程序组,包括:运行所述第一应用程序组中的第一主应用程序。
- 根据权利要求7所述的方法,其中,在获取待升级应用程序的升级包之后,还包括:更新升级标志位为升级;所述运行更新后的第二应用程序组,包括:如果确定所述升级标志位为升级,则判断所述第二应用程序组中的第二主应用程序是否为待升级应用程序;如果是,则在所述第一主应用程序的当前轮次任务执行完成时,运行更新后的第二主应用程序,并将所述升级标志位更新为非升级;否则,运行所述第二主应用程序,并将所述升级标志位更新为非升级。
- 根据权利要求8所述的方法,其中,在将所述升级标志位更新为非升级之后,还包括:将所述第二存储区的区标识由升级存储区更新为运行存储区,并将所述第一存储区的区标识由运行存储区更新为升级存储区;所述程序升级方法,还包括:如果确定所述升级标志位为非升级,则运行位于区标识为运行存储区的应用程序组中主应用程序。
- 根据权利要求8所述的方法,其中,所述程序升级方法应用的电子设备包括一个处理器,所述运行更新后的第二主应用程序,包括:关闭中断;将所述更新后的第二主应用程序加载到内存中,并运行;打开中断。
- 根据权利要求8所述的方法,其中,所述程序升级方法应用的电子设备包括至少两个处理器,所述运行更新后的第二主应用程序,包括:将所述更新后的第二主应用程序加载在第一处理器对应的内存区域中,并运行;关闭中断;将所述第一处理器运行所述更新后的第二主应用程序的运行结果,替换第二处理器运行所述第二主应用程序的运行结果,作为目标运行结果,所述第一处理器与所述第二处理器不同;打开中断;将所述更新后的第二主应用程序加载在除所述第一处理器之外的至少一个处理器分别对应的内存区域中,并运行。
- 根据权利要求8所述的方法,其中,在判断所述第二应用程序组中的第二主应用程序是否为待升级应用程序之前,还包括:如果外设初始化程序为待升级应用程序,则运行更新后的外设初始化程序,所述外设初始化程序用于在主应用程序运行之前,对外设模块进行初始化。
- 根据权利要求2所述的方法,其中,内存中包括主应用核心信息固定区和主应用核心信息预留区,所述主应用核心信息固定区用于存储主应用程序运行所需的当前核心参数,所述主应用核心信息预留区用于存储主应用程序运行所需的扩展核心参数,各核心参数的内存地址固定,所述核心参数用于第一主应用程序和第二主应用程序使用。
- 根据权利要求2所述的方法,其中,所述应用程序组存储区用于存储主应用程序和非主应用程序,所述主应用程序通过加载到内存中运行,所述非主应用程序和所述引导加载程序通过加载到所述内存中运行,或者在所述第一存储区和所述第二存储区形成的存储区域中运行。
- 一种程序升级装置,包括:当前应用程序组运行模块,用于运行第一应用程序组;升级包升级模块,用于在所述第一应用程序组运行的过程中,获取待升级应用程序的升级包,并根据所述升级包更新第二应用程序组中的待升级应用程序,所述第一应用程序组与所述第二应用程序组相同,所述第一应用程序组位于第一存储区,所述第二应用程序组位于第二存储区;更新应用程序组运行模块,用于所述第二应用程序组中的待升级应用程序更新完毕,则运行更新后的第二应用程序组,并根据所述升级包更新所述第一应用程序组中的待升级应用程序,以使更新后的第一应用程序组与更新后的第二应用程序组相同。
- 一种电子设备,包括至少一个处理器以及存储器;所述处理器用于执行存储器中存储的程序,以实现权利要求1-14任一项所述的方法。
- 一种存储介质,存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1-14任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911286106.1 | 2019-12-13 | ||
CN201911286106.1A CN112988183A (zh) | 2019-12-13 | 2019-12-13 | 程序升级方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021115477A1 true WO2021115477A1 (zh) | 2021-06-17 |
Family
ID=76329633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/136077 WO2021115477A1 (zh) | 2019-12-13 | 2020-12-14 | 程序升级方法、装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112988183A (zh) |
WO (1) | WO2021115477A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407217A (zh) * | 2021-06-30 | 2021-09-17 | 迈普通信技术股份有限公司 | 芯片程序升级方法、通信设备及计算机可读存储介质 |
CN113608758A (zh) * | 2021-07-15 | 2021-11-05 | 东莞新能安科技有限公司 | 软件升级方法、装置、电池管理系统、电池及用电装置 |
CN113608772A (zh) * | 2021-06-25 | 2021-11-05 | 天津津航计算技术研究所 | 一种应用程序升级方法及装置 |
CN114296819A (zh) * | 2021-12-23 | 2022-04-08 | 上海易咖智车科技有限公司 | 车身控制器的程序刷写方法、装置、计算机设备及介质 |
CN114356382A (zh) * | 2021-12-31 | 2022-04-15 | 北京伏尔特技术有限公司 | 对胰岛素泵主控制器进行iap应用程序升级的方法 |
CN114880008A (zh) * | 2022-05-17 | 2022-08-09 | 联陆智能交通科技(上海)有限公司 | 软件升级方法及系统 |
CN115421756A (zh) * | 2022-09-16 | 2022-12-02 | 杭州云动智能汽车技术有限公司 | 一种服务型网关升级方法 |
CN115437672A (zh) * | 2022-09-15 | 2022-12-06 | 深圳思凌科技术有限公司 | 基于soc芯片的用户程序更新方法、装置、设备及存储介质 |
CN116578327A (zh) * | 2023-07-12 | 2023-08-11 | 苏州浪潮智能科技有限公司 | 一种程序更新方法、装置及电子设备和存储介质 |
US11928460B2 (en) | 2022-04-20 | 2024-03-12 | International Business Machines Corporation | Dynamic update of a computer program in memory |
CN118051245A (zh) * | 2024-04-16 | 2024-05-17 | 所托(杭州)汽车智能设备有限公司 | 双分区升级方法、装置、设备及存储介质 |
CN118295685A (zh) * | 2024-06-04 | 2024-07-05 | 浙江恒业电子股份有限公司 | 一种广播式升级方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020092010A1 (en) * | 1999-07-28 | 2002-07-11 | Robert Fiske | Upgrade of a program |
CN1556474A (zh) * | 2003-12-30 | 2004-12-22 | 浙江中控技术股份有限公司 | 软件的在线升级方法及装置 |
CN101436138A (zh) * | 2007-11-16 | 2009-05-20 | 苏州科达通信技术发展有限公司 | 一种用于软件升级且动态回滚的控制装置以及控制方法 |
CN105511929A (zh) * | 2015-12-31 | 2016-04-20 | 青岛高校信息产业股份有限公司 | 一种设备远程无线升级方法 |
CN107071570A (zh) * | 2017-02-13 | 2017-08-18 | 青岛海信宽带多媒体技术有限公司 | 一种机顶盒升级方法及装置 |
-
2019
- 2019-12-13 CN CN201911286106.1A patent/CN112988183A/zh active Pending
-
2020
- 2020-12-14 WO PCT/CN2020/136077 patent/WO2021115477A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020092010A1 (en) * | 1999-07-28 | 2002-07-11 | Robert Fiske | Upgrade of a program |
CN1556474A (zh) * | 2003-12-30 | 2004-12-22 | 浙江中控技术股份有限公司 | 软件的在线升级方法及装置 |
CN101436138A (zh) * | 2007-11-16 | 2009-05-20 | 苏州科达通信技术发展有限公司 | 一种用于软件升级且动态回滚的控制装置以及控制方法 |
CN105511929A (zh) * | 2015-12-31 | 2016-04-20 | 青岛高校信息产业股份有限公司 | 一种设备远程无线升级方法 |
CN107071570A (zh) * | 2017-02-13 | 2017-08-18 | 青岛海信宽带多媒体技术有限公司 | 一种机顶盒升级方法及装置 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608772A (zh) * | 2021-06-25 | 2021-11-05 | 天津津航计算技术研究所 | 一种应用程序升级方法及装置 |
CN113608772B (zh) * | 2021-06-25 | 2024-03-19 | 天津津航计算技术研究所 | 一种应用程序升级方法及装置 |
CN113407217A (zh) * | 2021-06-30 | 2021-09-17 | 迈普通信技术股份有限公司 | 芯片程序升级方法、通信设备及计算机可读存储介质 |
CN113608758A (zh) * | 2021-07-15 | 2021-11-05 | 东莞新能安科技有限公司 | 软件升级方法、装置、电池管理系统、电池及用电装置 |
CN114296819A (zh) * | 2021-12-23 | 2022-04-08 | 上海易咖智车科技有限公司 | 车身控制器的程序刷写方法、装置、计算机设备及介质 |
CN114356382A (zh) * | 2021-12-31 | 2022-04-15 | 北京伏尔特技术有限公司 | 对胰岛素泵主控制器进行iap应用程序升级的方法 |
US11928460B2 (en) | 2022-04-20 | 2024-03-12 | International Business Machines Corporation | Dynamic update of a computer program in memory |
CN114880008A (zh) * | 2022-05-17 | 2022-08-09 | 联陆智能交通科技(上海)有限公司 | 软件升级方法及系统 |
CN115437672A (zh) * | 2022-09-15 | 2022-12-06 | 深圳思凌科技术有限公司 | 基于soc芯片的用户程序更新方法、装置、设备及存储介质 |
CN115421756A (zh) * | 2022-09-16 | 2022-12-02 | 杭州云动智能汽车技术有限公司 | 一种服务型网关升级方法 |
CN115421756B (zh) * | 2022-09-16 | 2023-07-18 | 杭州云动智能汽车技术有限公司 | 一种服务型网关升级方法 |
CN116578327B (zh) * | 2023-07-12 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 一种程序更新方法、装置及电子设备和存储介质 |
CN116578327A (zh) * | 2023-07-12 | 2023-08-11 | 苏州浪潮智能科技有限公司 | 一种程序更新方法、装置及电子设备和存储介质 |
CN118051245A (zh) * | 2024-04-16 | 2024-05-17 | 所托(杭州)汽车智能设备有限公司 | 双分区升级方法、装置、设备及存储介质 |
CN118295685A (zh) * | 2024-06-04 | 2024-07-05 | 浙江恒业电子股份有限公司 | 一种广播式升级方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112988183A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021115477A1 (zh) | 程序升级方法、装置、电子设备及存储介质 | |
CN110231952B (zh) | 一种ecu程序备份及循环升级控制方法及装置 | |
US8136108B2 (en) | Updating firmware with multiple processors | |
EP2831722B1 (en) | Method and system for verifying proper operation of a computing device after a system change | |
WO2022007656A1 (zh) | Bootloader软件更新方法、装置、嵌入式控制器以及存储介质 | |
US11347429B2 (en) | Live firmware activation in a memory system | |
US20110302572A1 (en) | Embedded network device and firmware upgrading method | |
CN110633091A (zh) | 一种电子模块及其软件无线升级方法 | |
US20210357202A1 (en) | Firmware updating | |
WO2021136200A1 (zh) | 引导程序的加载方法、存储介质及嵌入式终端 | |
WO2013013396A1 (zh) | 基本输入/输出系统bios配置数据管理方法及系统 | |
CN116521209B (zh) | 操作系统的升级方法及装置、存储介质及电子设备 | |
WO2022188690A1 (zh) | 升级电子设备的方法及装置 | |
CN108874422B (zh) | 一种冰箱电控板的软件在线升级方法、冰箱电控板和冰箱 | |
CN112527365A (zh) | 应用程序更新方法、非易失存储器、存储介质及家用电器 | |
CN104636159A (zh) | 对虚拟机中的软件进行升级的方法和装置 | |
CN116501357A (zh) | 一种单片机的在线升级方法 | |
US9495146B2 (en) | Host and method of upgrading connection manager of dongles | |
CN105677416A (zh) | 一种Uboot的升级控制系统及方法 | |
CN110825421A (zh) | 一种固件升级方法、系统及可读存储介质 | |
CN116501343A (zh) | 一种程序升级方法、电源及计算设备 | |
CN102455919A (zh) | 基本输入输出系统自动最佳化设定方法 | |
CN118092989B (zh) | 一种存储器的固件升级方法、系统、设备及介质 | |
CN116594661B (zh) | 一种编译阶段确保固件与工程匹配的单片机升级方法 | |
US20240192743A1 (en) | Customized thermal and power policies in computers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20899216 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20899216 Country of ref document: EP Kind code of ref document: A1 |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 280223) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20899216 Country of ref document: EP Kind code of ref document: A1 |