WO2022007656A1 - Bootloader软件更新方法、装置、嵌入式控制器以及存储介质 - Google Patents

Bootloader软件更新方法、装置、嵌入式控制器以及存储介质 Download PDF

Info

Publication number
WO2022007656A1
WO2022007656A1 PCT/CN2021/102761 CN2021102761W WO2022007656A1 WO 2022007656 A1 WO2022007656 A1 WO 2022007656A1 CN 2021102761 W CN2021102761 W CN 2021102761W WO 2022007656 A1 WO2022007656 A1 WO 2022007656A1
Authority
WO
WIPO (PCT)
Prior art keywords
bootloader
storage area
software
update
embedded controller
Prior art date
Application number
PCT/CN2021/102761
Other languages
English (en)
French (fr)
Inventor
张晓谦
姜珊
孙忠刚
Original Assignee
中国第一汽车股份有限公司
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 中国第一汽车股份有限公司 filed Critical 中国第一汽车股份有限公司
Publication of WO2022007656A1 publication Critical patent/WO2022007656A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • the present application relates to the field of software upgrade, for example, to a Bootloader software update method, device, embedded controller and storage medium.
  • the embedded controller software system generally includes bootloader software and application software. After the system is started, the Bootloader software initializes multiple related devices in the system, and loads and boots the operation of the application software, so as to complete the operation by running the application software. Business functions. Therefore, in order to meet the software update requirements such as the function upgrade of the application software and the bug repair, the Bootloader software also has a software update requirement.
  • the main storage area and the storage backup area of the Bootloader software may be preset in the embedded controller, which are respectively used to store the complete Bootloader software.
  • the Bootloader software needs to be updated, run the Bootloader upgrade software in the storage backup area. After the Bootloader upgrade software runs normally, store the Bootloader upgrade software in the main storage area to complete the Bootloader software upgrade.
  • this update method is only suitable for embedded controllers with storage main area and storage backup area, and the scope of application is narrow.
  • the present application provides a Bootloader software update method, device, embedded controller, and storage medium.
  • a Bootloader software update method is provided, which is applied to an embedded controller.
  • the storage area of the embedded controller includes a Bootloader storage area and an application storage area, and the method includes:
  • the Bootloader updater is run to update the Bootloader software.
  • Bootloader software update device be integrated in embedded controller
  • the storage area of described embedded controller includes Bootloader storage area and application storage area
  • described device includes:
  • a download module configured to run the Bootloader software in the Bootloader storage area in response to system startup, download the Bootloader update program through the Bootloader software, and store the Bootloader update program as an application program of the embedded controller in the application store;
  • An update module configured to run the Bootloader update program in response to a system restart to update the Bootloader software.
  • An embedded controller including a memory and a processor, wherein the memory stores a computer program, and the processor implements the above-mentioned method for updating the Bootloader software when the computer program is executed.
  • a computer-readable storage medium is also provided, storing a computer program, and when the computer program is executed by the processor, the above-mentioned method for updating the Bootloader software is implemented.
  • FIG. 1 is a schematic diagram of a storage area of an embedded controller provided by an embodiment of the present application.
  • FIG. 2 is a schematic flowchart of a method for updating Bootloader software according to an embodiment of the present application
  • FIG. 3 is a schematic flowchart of another Bootloader software update method provided by an embodiment of the present application.
  • FIG. 4 is a schematic flowchart of another Bootloader software update method provided by an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a Bootloader software update device provided by an embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of an embedded controller according to an embodiment of the present application.
  • the execution body of the following method embodiments may be a Bootloader software update device, and the device may be implemented as part or all of the embedded controller through software, hardware, or a combination of software and hardware.
  • the following method embodiments are described by taking the execution subject being an embedded controller as an example.
  • the storage area of a general embedded controller can include a Bootloader storage area and an application storage area.
  • the Bootloader storage area stores the Bootloader software
  • the application storage area is used to store application programs that implement various business functions.
  • Bootloader software has the following functions: to guide the startup of the application in the application storage area; when the application is upgraded, download the new application from the server to the application storage area through the Over-the-Air Technology (OTA), or Establish communication with computer equipment (such as a diagnostic instrument) through relevant software, and download new application programs in the computer equipment to the application storage area; when the application program is damaged, boot and reload the executable binary file of the application program to the application storage area.
  • OTA Over-the-Air Technology
  • the embodiments of the present application can utilize the existing partitions of the storage area of the embedded controller to update the Bootloader software.
  • FIG. 2 is a schematic flowchart of a method for updating Bootloader software according to an embodiment of the present application. This embodiment relates to the process of how the embedded controller updates the Bootloader software. As shown in Figure 2, the method may include the following steps.
  • the system starts, runs the Bootloader software in the Bootloader storage area, downloads a Bootloader update program through the Bootloader software, and stores the Bootloader update program as an application program of the embedded controller in the application storage area.
  • the Bootloader software can download the Bootloader update program from a remote server through OTA, or establish communication with a computer device (such as a diagnostic instrument) through related software, and download the Bootloader update program stored in the computer device.
  • a computer device such as a diagnostic instrument
  • the Bootloader update program After obtaining the Bootloader update program, store the Bootloader update program in the application storage area as an application program of the embedded controller.
  • the Bootloader update program is used to update the Bootloader software in the Bootloader storage area.
  • the embedded controller includes a Bootloader storage area and an application storage area.
  • the downloaded Bootloader update program can be stored directly by using the existing application storage area of the embedded controller.
  • the embedded controller of the architecture resets the dedicated update partition.
  • the memory of the embedded controller may be a flash memory (flash).
  • the Bootloader update program may include flash driver code, so as to realize the modification of the storage area of the embedded controller based on the flash driver code.
  • the Bootloader update program is downloaded, the system is restarted, and the Bootloader update program is run as an application program of the embedded controller, that is, the Bootloader update program in the application storage area is booted through the Bootloader software in the Bootloader storage area, and the Bootloader is run. Updater. After the Bootloader update program runs, the embedded controller resets automatically, thereby realizing the update of the Bootloader software.
  • the Bootloader update program can be automatically and silently run to complete the update of the Bootloader software in the Bootloader storage area. Greatly reduces the difficulty of updating the Bootloader software.
  • the embedded controller runs the Bootloader software in the Bootloader storage area, downloads the Bootloader update program through the Bootloader software, and stores the Bootloader update program as an application program of the embedded controller Go to the application storage area, and after the system restarts, run the Bootloader update program in the application storage area to update the Bootloader software.
  • the original application storage area of the embedded controller can be directly used to store the downloaded Bootloader update program, and the Bootloader update program can be run as the application program of the embedded controller, thereby To achieve the update of the Bootloader software in the Bootloader storage area, it is not necessary to set up a dedicated update partition for the embedded controller, so that the update method has strong versatility for embedded controllers of various design schemes, thereby improving the update method. scope of application.
  • a running process of the Bootloader update program is also provided.
  • the Bootloader update program includes new Bootloader software.
  • the foregoing S102 may include the following steps.
  • the to-be-erased area can be set in advance so that the to-be-erased area completely covers the Bootloader storage area, and the embedded controller erases the data in the to-be-erased area, thereby erasing the data in the Bootloader storage area. After erasing is completed, the embedded controller determines whether the data in the area to be erased is 0xFFFF, and if so, it indicates that the data in the area to be erased is successfully erased. If not, continue to erase until the data in the area to be erased is 0xFFFF.
  • the downloaded Bootloader update program may also include location information of the Bootloader storage area.
  • the location information may be the start address and the end address of the Bootloader storage area, or the location information may be the start address of the Bootloader storage area. Start address and size of Bootloader memory area.
  • the above S201 may be to erase the data in the Bootloader storage area according to the location information of the Bootloader storage area.
  • the embedded controller executes the flash write operation, and writes the new Bootloader software included in the Bootloader update program (that is, the binary data converted by the new Bootloader code) into the Bootloader storage area.
  • the embedded controller may further perform a data consistency check on the written data, and if the check passes, it indicates that the writing is successful. If the verification fails, execute the erase and write operations again.
  • the downloaded Bootloader update program may also include the first checksum result corresponding to the new Bootloader software, and the process of the above data consistency check may be: the embedded controller calculates Write the second checksum result of the data in the Bootloader storage area, match the second checksum result with the first checksum result, if the second checksum result matches the first checksum result, It indicates that the verification is passed; if the second checksum result does not match the first checksum result, it indicates that the verification fails.
  • the embedded controller can also modify the bootloader identifier of the application program corresponding to the Bootloader software, so as to run the new bootloader based on the modified bootloader identifier after the system is restarted. Bootloader software.
  • the Bootloader update program Since the application storage area of the embedded controller currently stores the Bootloader update program, after the new Bootloader software is successfully written, in order to avoid booting the Bootloader update program again after the system restarts, the Bootloader update program will run repeatedly. Therefore, it is necessary to Modify the boot identifier of the application program corresponding to the Bootloader software, so as to run the new Bootloader software based on the modified boot identifier after the system restarts, and then re-download the application program required by the corresponding service function through the new Bootloader software.
  • the method may also include: reading the version number of the Bootloader software in the Bootloader storage area; Determine whether the Bootloader software is the Bootloader software to be updated according to the version number.
  • the process of the above S201 may be: erasing the data in the Bootloader storage area when it is determined that the Bootloader software is the Bootloader software to be updated.
  • the embedded controller erases the data in the Bootloader storage area, and writes the new Bootloader software in the Bootloader update program into the Bootloader storage area, so as to update the Bootloader software without resorting to professional reading and writing tools
  • the update of the Bootloader software can be completed, thereby reducing the update difficulty of the Bootloader software.
  • the data consistency check is added in the Bootloader software update process, which improves the Bootloader software update accuracy and greatly reduces the Bootloader software update risk.
  • the embedded controller may be suddenly powered off.
  • the method may further include: changing the startup flag bit of the embedded controller, so that the startup flag bit points to the application The starting address of the memory area.
  • the embedded controller can directly run the Bootloader update program according to the address information pointed to by the startup flag (ie, the starting address of the application storage area), and execute the update process of the Bootloader software.
  • the startup flag ie, the starting address of the application storage area
  • the above manner of changing the startup flag bit of the embedded controller so that the startup flag bit points to the start address of the application storage area may include the following manners.
  • Mode 1 when the embedded controller has multiple startup flags, point the empty startup flag to the start address of the application storage area, and erase the contents of other startup flags.
  • the content of the first boot flag bit points to the starting address of the Bootloader storage area, and the content of the second boot flag bit is empty.
  • the flag bit is assigned, so that the second start flag bit points to the starting address of the application memory area, and the content of the first start flag bit is erased.
  • Mode 2 when the embedded controller has a start-up flag bit, erase the content of the start-up flag bit, and point the start-up flag bit to the start address of the application storage area.
  • the embedded controller has a startup flag bit and the startup flag bit is in an independent partition, the content of the startup flag bit is directly erased, and the startup flag bit points to the start address of the application storage area.
  • the method may further include: continuing to change the startup flag bit, so that the startup flag bit points to the start address of the Bootloader storage area again.
  • the above manner of changing the boot flag bit of the embedded controller so that the boot flag bit points to the start address of the Bootloader storage area again may include the following manners.
  • Mode 1 When the embedded controller has multiple boot flag bits, erase the boot flag bit pointing to the start address of the application storage area, so that the boot flag bit points to the start address of the Bootloader storage area again.
  • the second startup flag bit points to the starting address of the application storage area. At this time, it can be erased In addition to the content of the second boot flag bit, the second boot flag bit points to the starting address of the Bootloader storage area again.
  • Method 2 When the embedded controller has a boot flag bit, erase the content of the boot flag bit, and re-point the boot flag bit to the start address of the Bootloader storage area.
  • the startup flag bit of the embedded controller by changing the startup flag bit of the embedded controller, the startup flag bit points to the start address of the application storage area during the Bootloader software update process, and the new Bootloader software writes it into the Bootloader storage area. After that, change the startup flag bit of the embedded controller again, so that the startup flag bit points to the starting address of the Bootloader storage area again.
  • the embedded controller can be effectively prevented from being unresponsive when the embedded controller is powered on again after a sudden power failure, so that the embedded controller can directly run the Bootloader update program after power-on, thereby Make sure the Bootloader software update process goes smoothly.
  • the method may include the following steps.
  • S302 Read the version number of the Bootloader software in the Bootloader storage area, and determine whether the Bootloader software is the Bootloader software to be updated according to the version number.
  • FIG. 5 is a schematic structural diagram of a Bootloader software update device provided by an embodiment of the application.
  • the device is integrated in an embedded controller, and the storage area of the embedded controller includes a Bootloader storage area and an application storage area, as shown in FIG. 5 .
  • the device may include: a download module 10 and an update module 11 .
  • the download module 10 is configured to run the Bootloader software in the Bootloader storage area when the system starts, download the Bootloader update program through the Bootloader software, and store the Bootloader update program as an application program of the embedded controller in the application store;
  • the update module 11 is configured to run the Bootloader update program to update the Bootloader software when the system is restarted.
  • the embedded controller when the system starts, the embedded controller runs the Bootloader software in the Bootloader storage area, downloads the Bootloader update program through the Bootloader software, and uses the Bootloader update program as an application program of the embedded controller Store in the application storage area, and after the system restarts, run the Bootloader update program in the application storage area to update the Bootloader software.
  • the original application storage area of the embedded controller can be directly used to store the downloaded Bootloader update program, and the Bootloader update program can be run as the application program of the embedded controller, thereby To achieve the update of the Bootloader software in the Bootloader storage area, it is not necessary to re-set a dedicated update partition for the embedded controller, so that the update method has strong versatility for embedded controllers with various design schemes, thereby improving the update. Applicability of the method.
  • the Bootloader update program includes new Bootloader software
  • the update module 11 may include: an erasing unit and a writing unit.
  • the erasing unit is set to erase the data in the Bootloader storage area
  • the writing unit is configured to write the new Bootloader software into the Bootloader storage area to update the Bootloader software.
  • the updating module 11 may further include: a changing unit.
  • the changing unit is set to change the startup flag bit of the embedded controller before the erasing unit erases the data in the Bootloader storage area, so that the startup flag bit points to the start address of the application storage area;
  • the changing unit is further configured to continue to change the startup flag bit after the writing unit writes the new Bootloader software into the Bootloader storage area, so that the startup flag bit points to the starting address of the Bootloader storage area again .
  • the update module 11 may further include: a modification unit.
  • the modifying unit is set to modify the boot identifier of the application program corresponding to the Bootloader software after the writing unit writes the new Bootloader software into the Bootloader storage area, so that after the system is restarted, based on the modified boot Identifies running the new Bootloader software.
  • the changing unit is set to, when there are multiple startup flags in the embedded controller, point the empty startup flag to the start address of the application storage area, and Erase the contents of other startup flag bits except the startup flag bit whose content is empty; when there is a startup flag bit in the embedded controller, erase the content of the startup flag bit, and point the startup flag bit to The starting address of the application storage area.
  • the Bootloader update program further includes location information of the Bootloader storage area, and the erasing unit is configured to erase the Bootloader storage area according to the location information. data.
  • the update module 11 may further include: a reading unit and a determining unit.
  • the reading unit is set to read the version number of the Bootloader software in the Bootloader storage area before the erasing unit erases the data in the described Bootloader storage area;
  • the determining unit is set to determine whether the Bootloader software is the Bootloader software to be updated according to the version number;
  • the erasing unit is configured to erase the data in the Bootloader storage area when it is determined that the Bootloader software is the Bootloader software to be updated.
  • an embedded controller 600 is provided, and the internal structure diagram may be as shown in FIG. 6 .
  • the electronic device includes a processor 601 and a memory 602 connected by a system bus.
  • the processor 601 of the embedded controller 600 is configured to provide computing and control capabilities.
  • the memory 602 of the embedded controller 600 is configured to store a computer program, and when the computer program is executed by the processor 601, the above-mentioned bootloader software updating method is implemented.
  • FIG. 6 is only a block diagram of a partial structure related to the solution of the present application, and does not constitute a limitation on the embedded controller 600 to which the solution of the present application is applied.
  • the embedded controller 600 may include more More or fewer components are shown in the figures, either in combination or with different arrangements of components.
  • an embedded controller 600 is provided, the embedded controller 600 includes a memory 602 and a processor 601, a computer program is stored in the memory 602, and the processor 601 implements the following steps when executing the computer program:
  • the system starts, runs the Bootloader software in the Bootloader storage area, downloads the Bootloader update program through the Bootloader software, and stores the Bootloader update program as the application program of the embedded controller 600 in the application storage area;
  • the system is restarted, and the Bootloader update program is run to update the Bootloader software.
  • the Bootloader update program includes new Bootloader software
  • the processor 601 also implements the following steps when executing the computer program: erasing data in the Bootloader storage area; writing the new Bootloader software into the Bootloader storage area to update the Bootloader software.
  • the processor 601 further implements the following steps when executing the computer program: changing the startup flag bit of the embedded controller 600, so that the startup flag bit points to the start address of the application storage area;
  • the startup flag bit is continuously changed, so that the startup flag bit points to the start address of the Bootloader storage area again.
  • the processor 601 further implements the following steps when executing the computer program: modifying the boot identifier of the application program corresponding to the Bootloader software, so as to run the new Bootloader based on the modified boot identifier after the system is restarted software.
  • the processor 601 further implements the following steps when executing the computer program: when the embedded controller 600 has multiple startup flags, point the empty startup flag to the start address of the application storage area , and erase the contents of other startup flag bits except the startup flag bit whose content is empty; when there is a startup flag bit in the embedded controller 600, erase the content of the startup flag bit, and set the startup flag The flag bit points to the starting address of the application storage area.
  • the Bootloader update program further includes location information of the Bootloader storage area
  • the processor 601 further implements the following steps when executing the computer program: erasing the Bootloader storage area according to the location information data.
  • the processor 601 also implements the following steps when executing the computer program: reading the version number of the Bootloader software in the Bootloader storage area; determining whether the Bootloader software is the Bootloader software to be updated according to the version number; When the Bootloader software is the Bootloader software to be updated, the data in the Bootloader storage area is erased.
  • a computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, the following steps are implemented:
  • the system is restarted, and the Bootloader update program is run to update the Bootloader software.
  • the Bootloader update program includes new Bootloader software
  • the processor also implements the following steps when executing the computer program: erasing data in the Bootloader storage area; writing the new Bootloader software into the Bootloader memory area to update the Bootloader software.
  • the following steps are further implemented: changing the startup flag bit of the embedded controller, so that the startup flag bit points to the start address of the application storage area;
  • the startup flag bit is continuously changed, so that the startup flag bit points to the start address of the Bootloader storage area again.
  • the following steps are further implemented: modifying the boot identifier of the application program corresponding to the Bootloader software, so as to run the new Bootloader based on the modified boot identifier after the system is restarted software.
  • the following steps are further implemented: when the embedded controller has multiple startup flags, point the empty startup flags to the start address of the application storage area, And erase the contents of other startup flag bits except the startup flag bit whose content is empty; when there is a startup flag bit in the embedded controller, erase the content of the startup flag bit, and set the startup flag bit Points to the starting address of the application storage area.
  • the Bootloader update program further includes location information of the Bootloader storage area, and when the computer program is executed by the processor, the following steps are also implemented: erasing the Bootloader storage area according to the location information data.
  • the following steps are also implemented: reading the version number of the Bootloader software in the Bootloader storage area; determining whether the Bootloader software is the Bootloader software to be updated according to the version number; When the Bootloader software is the Bootloader software to be updated, the data in the Bootloader storage area is erased.
  • the Bootloader software update device, embedded controller, and storage medium provided in the above embodiments can execute the Bootloader software update method provided by any embodiment of the present application, and have corresponding functional modules and effects for executing the method.
  • the bootloader software updating method provided by any embodiment of the present application.
  • any reference to memory, storage, database or other medium used in the various embodiments provided in this application may include non-volatile and/or volatile memory.

Abstract

一种Bootloader软件更新方法、装置、嵌入式控制器以及存储介质。该方法包括:系统启动,嵌入式控制器运行Bootloader存储区中的Bootloader软件,通过Bootloader软件下载Bootloader更新程序,并将Bootloader更新程序作为嵌入式控制器的应用程序存储到应用存储区(S101),在系统重新启动后,运行应用存储区中的Bootloader更新程序,以实现对Bootloader软件的更新(S102)。由于在对Bootloader软件更新的过程中,可以直接利用嵌入式控制器原有的应用存储区来存储所下载的Bootloader更新程序,并将该Bootloader更新程序作为嵌入式控制器的应用程序来运行,从而实现对Bootloader存储区中的Bootloader软件的更新,无需重新对嵌入式控制器设置专用更新分区,使得该更新方式针对各种设计方案的嵌入式控制器有较强的通用性,从而提高了其适用范围。

Description

Bootloader软件更新方法、装置、嵌入式控制器以及存储介质
本申请要求在2020年07月08日提交中国专利局、申请号为202010651758.7的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
技术领域
本申请涉及软件升级领域,例如涉及一种Bootloader软件更新方法、装置、嵌入式控制器以及存储介质。
背景技术
嵌入式控制器软件系统一般包括引导加载程序(Bootloader)软件和应用软件,系统启动后,由Bootloader软件初始化系统中的多个相关器件,并加载引导应用软件的运行,从而通过运行应用软件来完成业务功能。因此,为了应对应用软件的功能升级以及漏洞修复等软件更新需求,Bootloader软件也存在软件更新的需求。
相关技术中,可以在嵌入式控制器中预先设置Bootloader软件的存储主区和存储备区,分别用于存储完整的Bootloader软件。当需要更新Bootloader软件时,运行存储备区中的Bootloader升级软件,在Bootloader升级软件运行正常后,将Bootloader升级软件存储到存储主区,从而完成Bootloader软件的升级。但是,该更新方式仅适应于设置有存储主区和存储备区的嵌入式控制器,适用范围较窄。
发明内容
针对Bootloader软件的更新方式适用范围较窄的技术问题,本申请提供一种Bootloader软件更新方法、装置、嵌入式控制器以及存储介质。
提供一种Bootloader软件更新方法,应用于嵌入式控制器,所述嵌入式控制器的存储区包括Bootloader存储区和应用存储区,所述方法包括:
响应于系统启动,运行Bootloader存储区中的Bootloader软件,通过所述Bootloader软件下载Bootloader更新程序,并将所述Bootloader更新程序作为所述嵌入式控制器的应用程序存储到所述应用存储区;
响应于系统重新启动,运行所述Bootloader更新程序,以更新所述Bootloader软件。
还提供一种Bootloader软件更新装置,集成于嵌入式控制器中,所述嵌入 式控制器的存储区包括Bootloader存储区和应用存储区,所述装置包括:
下载模块,设置为响应于系统启动,运行Bootloader存储区中的Bootloader软件,通过所述Bootloader软件下载Bootloader更新程序,并将所述Bootloader更新程序作为所述嵌入式控制器的应用程序存储到所述应用存储区;
更新模块,设置为响应于系统重新启动,运行所述Bootloader更新程序,以更新所述Bootloader软件。
还提供一种嵌入式控制器,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的Bootloader软件更新方法。
还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的Bootloader软件更新方法。
附图说明
图1为本申请实施例提供的嵌入式控制器的存储区示意图;
图2为本申请实施例提供的一种Bootloader软件更新方法的流程示意图;
图3为本申请实施例提供的另一种Bootloader软件更新方法的流程示意图;
图4为本申请实施例提供的又一种Bootloader软件更新方法的流程示意图;
图5为本申请实施例提供的Bootloader软件更新装置的结构示意图;
图6为本申请实施例提供的一种嵌入式控制器的结构示意图。
具体实施方式
通过下述实施例并结合附图,对本申请实施例中的技术方案进行说明。此处所描述的实施例仅用以解释本申请,并不用于限定本申请。
下述方法实施例的执行主体可以是Bootloader软件更新装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为嵌入式控制器的部分或者全部。下述方法实施例以执行主体是嵌入式控制器为例进行说明。
下述对嵌入式控制器的存储区的划分以及Bootloader软件的功能进行简单介绍。
如图1所示,一般嵌入式控制器的存储区可以包括Bootloader存储区和应 用存储区,Bootloader存储区存储的是Bootloader软件,应用存储区用于存储实现多种业务功能的应用程序。Bootloader软件具有以下功能:引导应用存储区中的应用程序的启动;在应用程序升级时,通过空中下载技术(Over-the-Air Technology,OTA)从服务器中下载新应用程序到应用存储区,或者通过相关软件与计算机设备(如诊断仪)建立通信,并把计算机设备中的新应用程序下载到应用存储区;在应用程序损坏时,引导重新加载应用程序的可执行二进制文件到应用存储区。本申请实施例能够利用嵌入式控制器的存储区的现有分区,实现对Bootloader软件的更新。
图2为本申请实施例提供的一种Bootloader软件更新方法的流程示意图。本实施例涉及的是嵌入式控制器如何更新Bootloader软件的过程。如图2所示,该方法可以包括以下步骤。
S101、系统启动,运行Bootloader存储区中的Bootloader软件,通过所述Bootloader软件下载Bootloader更新程序,并将所述Bootloader更新程序作为所述嵌入式控制器的应用程序存储到所述应用存储区。
在嵌入式控制器的系统启动时,运行Bootloader存储区中的Bootloader软件,通过Bootloader软件与升级媒介建立连接,获得Bootloader更新程序。可选的,Bootloader软件可以通过OTA从远端服务器中下载Bootloader更新程序,或者通过相关软件与计算机设备(如诊断仪)建立通信,并下载计算机设备中存储的Bootloader更新程序。在获得Bootloader更新程序之后,将该Bootloader更新程序作为嵌入式控制器的应用程序存储到应用存储区。其中,Bootloader更新程序用于更新Bootloader存储区中的Bootloader软件。
对于一般嵌入式控制器来说,嵌入控制器均包括Bootloader存储区和应用存储区,这样,便可以直接利用嵌入式控制器的现有的应用存储区存储所下载的Bootloader更新程序,无需针对不同架构的嵌入式控制器重新设置专用更新分区。
可选的,上述嵌入式控制器的存储器可以为闪存(flash),对此,上述Bootloader更新程序中可以包括flash驱动代码,以基于该flash驱动代码实现对嵌入式控制器的存储区的更改。
S102、系统重新启动,运行所述Bootloader更新程序,以更新所述Bootloader软件。
在Bootloader更新程序下载完成之后,系统重新启动,将Bootloader更新程序作为嵌入式控制器的应用程序来运行,即通过Bootloader存储区中的Bootloader软件引导启动应用存储区中的Bootloader更新程序,并运行Bootloader 更新程序。Bootloader更新程序运行完毕后,嵌入式控制器自动复位,从而实现对Bootloader软件的更新。
通过上述过程可以看出,Bootloader更新程序下载完成后便可以自动静默地运行Bootloader更新程序,完成Bootloader存储区中的Bootloader软件的更新,实现了无需专业人员使用专用读写工具进行Bootloader软件的更新,大大降低了Bootloader软件的更新难度。
本申请实施例提供的Bootloader软件更新方法,通过系统启动,嵌入式控制器运行Bootloader存储区中的Bootloader软件,通过Bootloader软件下载Bootloader更新程序,并将Bootloader更新程序作为嵌入式控制器的应用程序存储到应用存储区,在系统重新启动后,运行应用存储区中的Bootloader更新程序,以实现对Bootloader软件的更新。由于在对Bootloader软件更新的过程中,可以直接利用嵌入式控制器原有的应用存储区来存储所下载的Bootloader更新程序,并将该Bootloader更新程序作为嵌入式控制器的应用程序来运行,从而实现对Bootloader存储区中的Bootloader软件的更新,无需重新对嵌入式控制器设置专用更新分区,使得该更新方式针对多种设计方案的嵌入式控制器有较强的通用性,从而提高了更新方式的适用范围。
在一个实施例中,还提供了一种Bootloader更新程序的运行过程。可选的,所述Bootloader更新程序中包括新Bootloader软件,在上述实施例的基础上,如图3所示,上述S102可以包括以下步骤。
S201、擦除所述Bootloader存储区中的数据。
可以预先设置待擦除区域,使得待擦除区域完全覆盖Bootloader存储区,嵌入式控制器擦除待擦除区域中的数据,从而实现对Bootloader存储区中数据的擦除。在擦除完毕之后,嵌入式控制器判断待擦除区域中的数据是否为0xFFFF,若是,则表明待擦除区域中的数据擦除成功。若否,继续擦除,直至待擦除区域中的数据为0xFFFF为止。
可选的,所下载的Bootloader更新程序中还可以包括Bootloader存储区的位置信息,例如,该位置信息可以为Bootloader存储区的起始地址和终止地址,或者该位置信息可以为Bootloader存储区的起始地址和Bootloader存储区的大小。对此,上述S201可以为根据Bootloader存储区的位置信息,擦除所述Bootloader存储区中的数据。
S202、将所述新Bootloader软件写入所述Bootloader存储区中,以更新所述Bootloader软件。
在Bootloader存储区中的数据擦除成功后,嵌入式控制器执行flash写操作, 将Bootloader更新程序中包含的新Bootloader软件(即新Bootloader代码转换的二进制数据)写入Bootloader存储区。可选的,在写入操作完成之后,嵌入式控制器还可以对写入的数据进行数据一致性校验,校验通过,则表明写入成功。校验不通过,重新执行擦除及写入操作。通过在Bootloader软件更新过程中增加数据一致性校验,可以提高Bootloader软件更新的准确性,降低Bootloader软件更新的风险。
为了进行数据一致性校验,可选的,所下载的Bootloader更新程序中还可以包括新Bootloader软件对应的第一校验和结果,上述数据一致性校验的过程可以为:嵌入式控制器计算写入到Bootloader存储区中的数据的第二校验和结果,将第二校验和结果与第一校验和结果进行匹配,若第二校验和结果与第一校验和结果匹配,则表明校验通过;若第二校验和结果与第一校验和结果不匹配,则表明校验不通过。
可选的,在新Bootloader软件写入成功之后,嵌入式控制器还可以修改所述Bootloader软件所对应的应用程序的引导标识,以在系统重新启动后,基于修改后的引导标识运行所述新Bootloader软件。
由于嵌入式控制器的应用存储区当前存储的是Bootloader更新程序,在新Bootloader软件写入成功之后,为了避免系统重新启动后,再次引导运行Bootloader更新程序,导致Bootloader更新程序反复运行,因此,需要修改Bootloader软件所对应的应用程序的引导标识,以在系统重新启动后,基于修改后的引导标识运行新Bootloader软件,进而通过新Bootloader软件重新下载相应业务功能所需的应用程序。
在实际应用中,为了防止对Bootloader软件的误更新,在上述实施例的基础上,可选的,在上述S201之前,该方法还可以包括:读取Bootloader存储区中的Bootloader软件的版本号;根据所述版本号确定所述Bootloader软件是否为待更新Bootloader软件。上述S201的过程可以为:在确定所述Bootloader软件为待更新Bootloader软件的情况下,擦除所述Bootloader存储区中的数据。
在本实施例中,嵌入式控制器擦除Bootloader存储区中的数据,并将Bootloader更新程序中的新Bootloader软件写入Bootloader存储区中,以实现对Bootloader软件的更新,无需借助专业读写工具即可完成Bootloader软件的更新,从而降低了Bootloader软件的更新难度。同时,在Bootloader软件更新过程中增加数据一致性校验,提高了Bootloader软件更新的准确性,大大降低了Bootloader软件更新的风险。
在实际Bootloader软件更新过程中,可能会出现嵌入式控制器突然断电的情况,针对此情况,为了防止嵌入式控制器出现系统无响应的情况,即为了使 嵌入式控制器在上电后可以直接运行Bootloader更新程序,在上述实施例的基础上,可选的,在S201之前,该方法还可以包括:变更所述嵌入式控制器的启动标志位,使所述启动标志位指向所述应用存储区的起始地址。
这样,在上电之后,嵌入式控制器便可以根据启动标志位所指向的地址信息(即应用存储区的起始地址),直接运行Bootloader更新程序,执行Bootloader软件的更新过程。
可选的,上述变更所述嵌入式控制器的启动标志位,使所述启动标志位指向所述应用存储区的起始地址的方式可以包括如下方式。
方式一:当嵌入式控制器存在多个启动标志位时,将内容为空的启动标志位指向所述应用存储区的起始地址,并擦除其它启动标志位的内容。
假设嵌入式控制器存在两个启动标志位,第一个启动标志位的内容指向Bootloader存储区的起始地址,第二个启动标志位的内容为空,针对此情况,可以为第二个启动标志位进行赋值,使第二个启动标志位指向应用存储区的起始地址,并擦除第一个启动标志位的内容。
方式二:当嵌入式控制器存在一个启动标志位时,擦除该启动标志位的内容,并将该启动标志位指向所述应用存储区的起始地址。
在嵌入式控制器存在一个启动标志位且该启动标志位处于独立分区时,直接擦除该启动标志位的内容,将该启动标志位指向应用存储区的起始地址。
同时,在将新Bootloader软件写入Bootloader存储区中之后,为了确保更新后的新Bootloader软件能够正常运行。在上述S202之后,该方法还可以包括:继续变更所述启动标志位,使所述启动标志位重新指向所述Bootloader存储区的起始地址。
上述变更所述嵌入式控制器的启动标志位,使所述启动标志位重新指向所述Bootloader存储区的起始地址的方式可以包括如下方式。
方式一:当嵌入式控制器存在多个启动标志位时,擦除指向应用存储区的起始地址的启动标志位,使该启动标志位重新指向Bootloader存储区的起始地址。
继续以上述嵌入式控制器包括两个启动标志位的例子为例,经过第一次启动标志位的内容变更之后,第二个启动标志位指向应用存储区的起始地址,此时,可以擦除第二个启动标志位的内容,使第二个启动标志位重新指向Bootloader存储区的起始地址。
方式二:当嵌入式控制器存在一个启动标志位时,擦除该启动标志位的内 容,并将该启动标志位重新指向Bootloader存储区的起始地址。
在本实施例中,通过变更嵌入式控制器的启动标志位,使启动标志位在Bootloader软件更新过程中,启动标志位指向应用存储区的起始地址,在新Bootloader软件写入Bootloader存储区中后,再次变更嵌入式控制器的启动标志位,使启动标志位重新指向Bootloader存储区的起始地址。通过该技术方案,可以有效防止嵌入式控制器在突然断电后,再次上电导致嵌入式控制器出现系统无响应的情况,使得嵌入式控制器在上电之后可以直接运行Bootloader更新程序,从而确保Bootloader软件更新过程的顺利进行。
以下以图4所示的流程图介绍Bootloader软件的更新过程,如图4所示,该方法可以包括以下步骤。
S301、下载Bootloader更新程序,并将所述Bootloader更新程序作为所述嵌入式控制器的应用程序存储到所述应用存储区。
在嵌入式控制器的系统启动时,运行Bootloader存储区中的Bootloader软件,通过Bootloader软件与升级媒介建立连接,下载Bootloader更新程序。
S302、读取Bootloader存储区中的Bootloader软件的版本号,根据所述版本号确定该Bootloader软件是否为待更新Bootloader软件。
若是,则执行S303;若否,则执行S308。
S303、变更所述嵌入式控制器的启动标志位,使所述启动标志位指向所述应用存储区的起始地址。
S304、擦除所述Bootloader存储区中的数据。
若擦除成功,则继续执行S305;若擦除失败,则继续执行S304,直至擦除成功。
S305、将所述新Bootloader软件写入所述Bootloader存储区中。
S306、对写入Bootloader存储区中的数据进行数据一致性校验。
若校验通过,则继续执行S307;若校验不通过,则跳转至S304。
S307、继续变更所述启动标志位,使所述启动标志位重新指向所述Bootloader存储区的起始地址。
S308、修改所述Bootloader软件所对应的应用程序的引导标识,以在系统重新启动后,基于修改后的引导标识运行所述新Bootloader软件。
在S308之后,复位嵌入式控制器,运行新Bootloader软件。
图5为本申请实施例提供的Bootloader软件更新装置的结构示意图,该装 置集成于嵌入式控制器中,所述嵌入式控制器的存储区包括Bootloader存储区和应用存储区,如图5所示,该装置可以包括:下载模块10和更新模块11。
下载模块10设置为在系统启动时,运行Bootloader存储区中的Bootloader软件,通过所述Bootloader软件下载Bootloader更新程序,并将所述Bootloader更新程序作为所述嵌入式控制器的应用程序存储到所述应用存储区;
更新模块11设置为在系统重新启动时,运行所述Bootloader更新程序,以更新所述Bootloader软件。
本申请实施例提供的Bootloader软件更新装置,在系统启动时,嵌入式控制器运行Bootloader存储区中的Bootloader软件,通过Bootloader软件下载Bootloader更新程序,并将Bootloader更新程序作为嵌入式控制器的应用程序存储到应用存储区,在系统重新启动后,运行应用存储区中的Bootloader更新程序,以实现对Bootloader软件的更新。由于在对Bootloader软件更新的过程中,可以直接利用嵌入式控制器原有的应用存储区来存储所下载的Bootloader更新程序,并将该Bootloader更新程序作为嵌入式控制器的应用程序来运行,从而实现对Bootloader存储区中的Bootloader软件的更新,无需重新对嵌入式控制器设置专用更新分区,使得该更新方式针对多种设计方案的嵌入式控制器有较强的通用性,从而提高了该更新方式的适用范围。
在上述实施例的基础上,可选的,所述Bootloader更新程序中包括新Bootloader软件,更新模块11可以包括:擦除单元和写入单元。
擦除单元设置为擦除所述Bootloader存储区中的数据;
写入单元设置为将所述新Bootloader软件写入所述Bootloader存储区中,以更新所述Bootloader软件。
在上述实施例的基础上,可选的,更新模块11还可以包括:变更单元。
变更单元设置为在擦除单元擦除所述Bootloader存储区中的数据之前,变更所述嵌入式控制器的启动标志位,使所述启动标志位指向所述应用存储区的起始地址;
变更单元还设置为在写入单元将所述新Bootloader软件写入所述Bootloader存储区中之后,继续变更所述启动标志位,使所述启动标志位重新指向所述Bootloader存储区的起始地址。
在上述实施例的基础上,可选的,更新模块11还可以包括:修改单元。
修改单元设置为在写入单元将所述新Bootloader软件写入所述Bootloader存储区中之后,修改所述Bootloader软件所对应的应用程序的引导标识,以在 系统重新启动后,基于修改后的引导标识运行所述新Bootloader软件。
在上述实施例的基础上,可选的,变更单元是设置为当嵌入式控制器存在多个启动标志位时,将内容为空的启动标志位指向所述应用存储区的起始地址,并擦除除所述内容为空的启动标志位之外的其它启动标志位的内容;当嵌入式控制器存在一个启动标志位时,擦除该启动标志位的内容,并将该启动标志位指向所述应用存储区的起始地址。
在上述实施例的基础上,可选的,所述Bootloader更新程序中还包括所述Bootloader存储区的位置信息,擦除单元是设置为根据所述位置信息,擦除所述Bootloader存储区中的数据。
在上述实施例的基础上,可选的,更新模块11还可以包括:读取单元和确定单元。
读取单元设置为在擦除单元擦除所述Bootloader存储区中的数据之前,读取Bootloader存储区中的Bootloader软件的版本号;
确定单元设置为根据所述版本号确定所述Bootloader软件是否为待更新Bootloader软件;
擦除单元是设置为在确定所述Bootloader软件为待更新Bootloader软件的情况下,擦除所述Bootloader存储区中的数据。
在一个实施例中,提供了一种嵌入式控制器600,内部结构图可以如图6所示。该电子设备包括通过系统总线连接的处理器601和存储器602。其中,该嵌入式控制器600的处理器601设置为提供计算和控制能力。该嵌入式控制器600的存储器602设置为存储计算机程序,该计算机程序被处理器601执行时以实现上述Bootloader软件更新方法。
图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于本申请上的嵌入式控制器600的限定,嵌入式控制器600可以包括比图中所示更多或更少的部件,或者组合一些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种嵌入式控制器600,该嵌入式控制器600包括存储器602和处理器601,存储器602中存储有计算机程序,该处理器601执行计算机程序时实现以下步骤:
系统启动,运行Bootloader存储区中的Bootloader软件,通过所述Bootloader软件下载Bootloader更新程序,并将所述Bootloader更新程序作为所述嵌入式控制器600的应用程序存储到所述应用存储区;
系统重新启动,运行所述Bootloader更新程序,以更新所述Bootloader软件。
在一个实施例中,所述Bootloader更新程序中包括新Bootloader软件,处理器601执行计算机程序时还实现以下步骤:擦除所述Bootloader存储区中的数据;将所述新Bootloader软件写入所述Bootloader存储区中,以更新所述Bootloader软件。
在一个实施例中,处理器601执行计算机程序时还实现以下步骤:变更所述嵌入式控制器600的启动标志位,使所述启动标志位指向所述应用存储区的起始地址;
在所述将所述新Bootloader软件写入所述Bootloader存储区中之后,继续变更所述启动标志位,使所述启动标志位重新指向所述Bootloader存储区的起始地址。
在一个实施例中,处理器601执行计算机程序时还实现以下步骤:修改所述Bootloader软件所对应的应用程序的引导标识,以在系统重新启动后,基于修改后的引导标识运行所述新Bootloader软件。
在一个实施例中,处理器601执行计算机程序时还实现以下步骤:当嵌入式控制器600存在多个启动标志位时,将内容为空的启动标志位指向所述应用存储区的起始地址,并擦除除所述内容为空的启动标志位之外的其它启动标志位的内容;当嵌入式控制器600存在一个启动标志位时,擦除该启动标志位的内容,并将该启动标志位指向所述应用存储区的起始地址。
在一个实施例中,所述Bootloader更新程序中还包括所述Bootloader存储区的位置信息,处理器601执行计算机程序时还实现以下步骤:根据所述位置信息,擦除所述Bootloader存储区中的数据。
在一个实施例中,处理器601执行计算机程序时还实现以下步骤:读取Bootloader存储区中的Bootloader软件的版本号;根据所述版本号确定所述Bootloader软件是否为待更新Bootloader软件;在确定所述Bootloader软件为待更新Bootloader软件的情况下,擦除所述Bootloader存储区中的数据。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
系统启动,运行Bootloader存储区中的Bootloader软件,通过所述Bootloader软件下载Bootloader更新程序,并将所述Bootloader更新程序作为所述嵌入式控制器的应用程序存储到所述应用存储区;
系统重新启动,运行所述Bootloader更新程序,以更新所述Bootloader软件。
在一个实施例中,所述Bootloader更新程序中包括新Bootloader软件,处理器执行计算机程序时还实现以下步骤:擦除所述Bootloader存储区中的数据;将所述新Bootloader软件写入所述Bootloader存储区中,以更新所述Bootloader软件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:变更所述嵌入式控制器的启动标志位,使所述启动标志位指向所述应用存储区的起始地址;
在所述将所述新Bootloader软件写入所述Bootloader存储区中之后,继续变更所述启动标志位,使所述启动标志位重新指向所述Bootloader存储区的起始地址。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:修改所述Bootloader软件所对应的应用程序的引导标识,以在系统重新启动后,基于修改后的引导标识运行所述新Bootloader软件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当嵌入式控制器存在多个启动标志位时,将内容为空的启动标志位指向所述应用存储区的起始地址,并擦除除所述内容为空的启动标志位之外的其它启动标志位的内容;当嵌入式控制器存在一个启动标志位时,擦除该启动标志位的内容,并将该启动标志位指向所述应用存储区的起始地址。
在一个实施例中,所述Bootloader更新程序中还包括所述Bootloader存储区的位置信息,计算机程序被处理器执行时还实现以下步骤:根据所述位置信息,擦除所述Bootloader存储区中的数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:读取Bootloader存储区中的Bootloader软件的版本号;根据所述版本号确定所述Bootloader软件是否为待更新Bootloader软件;在确定所述Bootloader软件为待更新Bootloader软件的情况下,擦除所述Bootloader存储区中的数据。
上述实施例中提供的Bootloader软件更新装置、嵌入式控制器以及存储介质可执行本申请任意实施例所提供的Bootloader软件更新方法,具备执行该方法相应的功能模块和效果。未在上述实施例中描述的技术细节,可参见本申请任意实施例所提供的Bootloader软件更新方法。
上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述多个方法的实施例的流程。其中,本申请所提供的多个实施例中所使用的对存储器、存储、数据库或其它介质的 任何引用,均可包括非易失性和/或易失性存储器。
以上所述实施例的多个技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的多个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

Claims (10)

  1. 一种引导加载程序Bootloader软件更新方法,应用于嵌入式控制器,所述嵌入式控制器的存储区包括Bootloader存储区和应用存储区,所述方法包括:
    响应于系统启动,运行所述Bootloader存储区中的Bootloader软件,通过所述Bootloader软件下载Bootloader更新程序,并将所述Bootloader更新程序作为所述嵌入式控制器的应用程序存储到所述应用存储区;
    响应于系统重新启动,运行所述Bootloader更新程序,以更新所述Bootloader软件。
  2. 根据权利要求1所述的方法,其中,所述Bootloader更新程序中包括新Bootloader软件,所述运行所述Bootloader更新程序,以更新所述Bootloader软件,包括:
    擦除所述Bootloader存储区中的数据;
    将所述新Bootloader软件写入所述Bootloader存储区中,以更新所述Bootloader软件。
  3. 根据权利要求2所述的方法,其中,在所述擦除所述Bootloader存储区中的数据之前,所述方法还包括:
    变更所述嵌入式控制器的启动标志位,使所述启动标志位指向所述应用存储区的起始地址;
    在所述将所述新Bootloader软件写入所述Bootloader存储区中之后,所述方法还包括:
    继续变更所述启动标志位,使所述启动标志位重新指向所述Bootloader存储区的起始地址。
  4. 根据权利要求2或3所述的方法,其中,在所述将所述新Bootloader软件写入所述Bootloader存储区中之后,所述方法还包括:
    修改所述Bootloader软件所对应的应用程序的引导标识,以在所述系统重新启动后,基于修改后的引导标识运行所述新Bootloader软件。
  5. 根据权利要求3所述的方法,其中,所述变更所述嵌入式控制器的启动标志位,使所述启动标志位指向所述应用存储区的起始地址,包括:
    在所述嵌入式控制器存在多个启动标志位的情况下,将内容为空的启动标志位指向所述应用存储区的起始地址,并擦除除所述内容为空的启动标志位之外的其它启动标志位的内容;
    在所述嵌入式控制器存在一个启动标志位的情况下,擦除所述启动标志位 的内容,并将所述启动标志位指向所述应用存储区的起始地址。
  6. 根据权利要求2所述的方法,其中,所述Bootloader更新程序中还包括所述Bootloader存储区的位置信息,所述擦除所述Bootloader存储区中的数据,包括:
    根据所述位置信息,擦除所述Bootloader存储区中的数据。
  7. 根据权利要求2或3所述的方法,其中,在所述擦除所述Bootloader存储区中的数据之前,所述方法还包括:
    读取所述Bootloader存储区中的Bootloader软件的版本号;
    根据所述版本号确定所述Bootloader软件是否为待更新Bootloader软件;
    所述擦除所述Bootloader存储区中的数据,包括:
    在确定所述Bootloader软件为所述待更新Bootloader软件的情况下,擦除所述Bootloader存储区中的数据。
  8. 一种引导加载程序Bootloader软件更新装置,集成于嵌入式控制器中,所述嵌入式控制器的存储区包括Bootloader存储区和应用存储区,所述装置包括:
    下载模块,设置为响应于系统启动,运行所述Bootloader存储区中的Bootloader软件,通过所述Bootloader软件下载Bootloader更新程序,并将所述Bootloader更新程序作为所述嵌入式控制器的应用程序存储到所述应用存储区;
    更新模块,设置为响应于系统重新启动,运行所述Bootloader更新程序,以更新所述Bootloader软件。
  9. 一种嵌入式控制器,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的引导加载程序Bootloader软件更新方法。
  10. 一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的引导加载程序Bootloader软件更新方法。
PCT/CN2021/102761 2020-07-08 2021-06-28 Bootloader软件更新方法、装置、嵌入式控制器以及存储介质 WO2022007656A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010651758.7A CN111796848A (zh) 2020-07-08 2020-07-08 Bootloader软件更新方法、装置、嵌入式控制器以及存储介质
CN202010651758.7 2020-07-08

Publications (1)

Publication Number Publication Date
WO2022007656A1 true WO2022007656A1 (zh) 2022-01-13

Family

ID=72809787

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/102761 WO2022007656A1 (zh) 2020-07-08 2021-06-28 Bootloader软件更新方法、装置、嵌入式控制器以及存储介质

Country Status (2)

Country Link
CN (1) CN111796848A (zh)
WO (1) WO2022007656A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114610415A (zh) * 2022-03-23 2022-06-10 北京经纬恒润科技股份有限公司 一种程序启动方法、系统、存储介质及电子设备
CN114661326A (zh) * 2022-03-22 2022-06-24 中国北方车辆研究所 一种多处理器嵌入式系统软件快速更新方法
CN115221824A (zh) * 2022-07-18 2022-10-21 北京极光星通科技有限公司 异步重构方法、装置和计算机设备
CN117591163A (zh) * 2024-01-18 2024-02-23 北京智芯微电子科技有限公司 内核升级方法、装置、介质、芯片和电子设备
CN114661326B (zh) * 2022-03-22 2024-04-30 中国北方车辆研究所 一种多处理器嵌入式系统软件快速更新方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111796848A (zh) * 2020-07-08 2020-10-20 中国第一汽车股份有限公司 Bootloader软件更新方法、装置、嵌入式控制器以及存储介质
CN112631625B (zh) * 2020-11-20 2022-10-21 展讯通信(上海)有限公司 嵌入式设备的系统升级方法、装置及嵌入式设备
CN112882731A (zh) * 2021-01-08 2021-06-01 北京锦鸿希电信息技术股份有限公司 嵌入式软件升级方法和装置
CN113885928B (zh) * 2021-05-31 2022-10-11 荣耀终端有限公司 程序更新方法和电子设备
CN113254048B (zh) * 2021-06-21 2021-09-28 深之蓝(天津)水下智能科技有限公司 引导程序更新方法、装置、设备及计算机可读介质
CN116302019B (zh) * 2023-05-11 2023-08-04 江苏大秦新能源科技有限公司 一种BootLoader程序自更新方法、系统及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040030877A1 (en) * 2002-08-06 2004-02-12 Aleksandr Frid Using system BIOS to update embedded controller firmware
CN103299276A (zh) * 2010-11-08 2013-09-11 金雅拓股份有限公司 嵌入式装置的软件更新过程
CN109857426A (zh) * 2018-12-27 2019-06-07 百度在线网络技术(北京)有限公司 Bootloader程序更新方法、装置、电子设备及存储介质
CN110209420A (zh) * 2019-08-01 2019-09-06 潍柴动力股份有限公司 一种更新引导加载程序的方法及装置
CN111796848A (zh) * 2020-07-08 2020-10-20 中国第一汽车股份有限公司 Bootloader软件更新方法、装置、嵌入式控制器以及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015088544A1 (en) * 2013-12-13 2015-06-18 Razer (Asia-Pacific) Pte. Ltd. Devices, updaters, methods for controlling a device, and methods for controlling an updater
CN110134415A (zh) * 2019-04-12 2019-08-16 深圳市致宸信息科技有限公司 一种控制器及其软件升级方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040030877A1 (en) * 2002-08-06 2004-02-12 Aleksandr Frid Using system BIOS to update embedded controller firmware
CN103299276A (zh) * 2010-11-08 2013-09-11 金雅拓股份有限公司 嵌入式装置的软件更新过程
CN109857426A (zh) * 2018-12-27 2019-06-07 百度在线网络技术(北京)有限公司 Bootloader程序更新方法、装置、电子设备及存储介质
CN110209420A (zh) * 2019-08-01 2019-09-06 潍柴动力股份有限公司 一种更新引导加载程序的方法及装置
CN111796848A (zh) * 2020-07-08 2020-10-20 中国第一汽车股份有限公司 Bootloader软件更新方法、装置、嵌入式控制器以及存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661326A (zh) * 2022-03-22 2022-06-24 中国北方车辆研究所 一种多处理器嵌入式系统软件快速更新方法
CN114661326B (zh) * 2022-03-22 2024-04-30 中国北方车辆研究所 一种多处理器嵌入式系统软件快速更新方法
CN114610415A (zh) * 2022-03-23 2022-06-10 北京经纬恒润科技股份有限公司 一种程序启动方法、系统、存储介质及电子设备
CN114610415B (zh) * 2022-03-23 2024-01-16 北京经纬恒润科技股份有限公司 一种程序启动方法、系统、存储介质及电子设备
CN115221824A (zh) * 2022-07-18 2022-10-21 北京极光星通科技有限公司 异步重构方法、装置和计算机设备
CN117591163A (zh) * 2024-01-18 2024-02-23 北京智芯微电子科技有限公司 内核升级方法、装置、介质、芯片和电子设备

Also Published As

Publication number Publication date
CN111796848A (zh) 2020-10-20

Similar Documents

Publication Publication Date Title
WO2022007656A1 (zh) Bootloader软件更新方法、装置、嵌入式控制器以及存储介质
KR100506203B1 (ko) 부팅 및 부트 코드 업데이트 방법 및 시스템
US6553490B1 (en) Computer system including local computer with capability to automatically update operating system or application program from network server
US8122447B2 (en) Firmware installation
KR101427755B1 (ko) Usb를 이용한 펌웨어 업그레이드 장치 및 방법
US20090271780A1 (en) Automatic complete firmware upgrade
GB2466685A (en) Fault tolerant updating of firmware
WO2017000567A1 (zh) 一种实现bootrom升级的方法及装置
CN113064604B (zh) 一种固件升级方法和装置
WO2015154538A1 (zh) 存储器的启动方法及装置
WO2012071852A1 (zh) 引导程序的升级方法和装置
CN112947977A (zh) 一种软件在线升级方法及系统
CN111026417A (zh) 一种嵌入式设备的升级方法及嵌入式设备
US20140258699A1 (en) Boot fault tolerant device and method thereof
JP5084853B2 (ja) ファームウエア更新装置、通信装置、電子機器、ファームウエア更新システム、ファームウエア更新方法及びプログラム
US9495146B2 (en) Host and method of upgrading connection manager of dongles
JP3805195B2 (ja) プログラム書き換え装置及びプログラム書き換え方法
CN113377425B (zh) Bmc固件生成方法和装置、bmc启动方法和装置及存储介质
US11768669B2 (en) Installing application program code on a vehicle control system
KR100876748B1 (ko) 부트코드 업데이트 방법
CN112667444A (zh) 一种系统升级方法、存储介质及终端设备
JP4062429B2 (ja) メモリ書き換え制御方法及びメモリ書き換え制御方法の各工程を実行させるプログラム
JP2021157487A (ja) 外部記憶装置及び情報処理システム
JP2010117944A (ja) ソフトウェア更新システム、ソフトウェア更新方法、携帯電話端末及びプログラム
JP4238930B2 (ja) メモリ書き換え制御システム。

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: 21837811

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: 21837811

Country of ref document: EP

Kind code of ref document: A1