CN110209420A - A kind of method and device updating bootstrap loader - Google Patents
A kind of method and device updating bootstrap loader Download PDFInfo
- Publication number
- CN110209420A CN110209420A CN201910708731.4A CN201910708731A CN110209420A CN 110209420 A CN110209420 A CN 110209420A CN 201910708731 A CN201910708731 A CN 201910708731A CN 110209420 A CN110209420 A CN 110209420A
- Authority
- CN
- China
- Prior art keywords
- ecu
- program
- new version
- boot loader
- version
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种更新引导加载程序的方法及装置,包括:将目标程序存储于ECU中的第一存储区域中,其中,该目标程序至少包括更新程序,第一存储区域在存储目标程序之前被用于存储应用程序;存储新版本的引导加载程序,并通过执行更新程序,将第二存储区域中旧版本的引导加载程序更新为新版本的引导加载程序。由此可见,将更新程序刷写到ECU中用于存储应用程序的第一存储区域中,可以实现在不开壳的情况下,利用新版本的Boot Loader更新ECU中旧版本的Boot Loader,进而对ECU中的Boot Loader的更新;并且,每次更新Boot Loader时都是将更新程序烧录至ECU中原先存储应用程序的区域,因此,也无需占用ECU额外的存储空间。
The present application discloses a method and device for updating a bootloader program, including: storing the target program in a first storage area in the ECU, wherein the target program includes at least an update program, and the first storage area is before storing the target program is used to store application programs; stores a new version of the boot loader, and updates the old version of the boot loader in the second storage area to the new version of the boot loader by executing an update program. It can be seen that flashing the update program into the first storage area for storing application programs in the ECU can realize updating the old version of the Boot Loader in the ECU with the new version of the Boot Loader without opening the shell, and then Update the Boot Loader in the ECU; and, each time the Boot Loader is updated, the update program is burned into the area where the application program was originally stored in the ECU, so there is no need to occupy additional storage space on the ECU.
Description
技术领域technical field
本申请涉及数据更新技术领域,特别是涉及一种更新ECU中引导加载程序的方法及装置。The present application relates to the technical field of data update, in particular to a method and device for updating a bootloader program in an ECU.
背景技术Background technique
在电子控制单元(Electronic Control Unit,ECU)中的操作系统运行之前,通常是由该ECU中的预先存储的引导加载程序(Boot Loader)来完成这个系统的加载启动任务,以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终操作系统运动准备好正确的环境。当ECU中Boot Loader的功能不满足实际需求时,通常需要对ECU中的Boot Loader进行更新。Before the operating system in the electronic control unit (Electronic Control Unit, ECU) runs, usually the pre-stored boot loader (Boot Loader) in the ECU completes the task of loading and starting the system to initialize hardware devices, establish Memory space map, so as to bring the software and hardware environment of the system to a suitable state, so as to prepare the correct environment for the final operation of the operating system. When the function of the Boot Loader in the ECU does not meet the actual needs, it is usually necessary to update the Boot Loader in the ECU.
目前更新ECU中Boot Loader的方式中,主要是ECU进行开壳处理,即从ECU所在设备中单独取出ECU,并通过调用相应的调试器向该ECU中刷写更新版本的Boot Loader,从而完成ECU中Boot Loader的更新。这种更新Boot Loader的方式,使得每次在更新ECU中的Boot Loader时都需要对ECU所在设备进行开壳处理,开壳风险较高。而在其它更新BootLoader的方式中,是预先将更新程序存储于ECU的存储装置(如RAM或者FLASH等)中,当ECU中当前使用的Boot Loader需要进行更新时,则利用该存储装置中预先存储的更新程序,利用新版本的Boot Loader更新ECU中旧版本的Boot Loader。这种更新方式,不仅需要占用额外的存储空间来长久存储更新程序,而且,ECU中的更新程序固定,无法实现对该更新程序进行升级。At present, the way to update the Boot Loader in the ECU is mainly to open the ECU, that is, to take out the ECU from the device where the ECU is located, and flash the updated version of the Boot Loader to the ECU by calling the corresponding debugger, so as to complete the ECU. The update of the Boot Loader. This method of updating the Boot Loader makes it necessary to open the shell of the device where the ECU is located every time the Boot Loader in the ECU is updated, and the risk of opening the shell is high. In other ways to update the BootLoader, the update program is stored in the storage device of the ECU (such as RAM or FLASH, etc.) in advance. When the Boot Loader currently used in the ECU needs to be updated, the pre-stored The update program uses the new version of the Boot Loader to update the old version of the Boot Loader in the ECU. This update method not only needs to occupy extra storage space to store the update program for a long time, but also, the update program in the ECU is fixed, and the update program cannot be upgraded.
发明内容Contents of the invention
本申请实施例提供了一种更新引导加载程序的方法及装置,以使得在无需开壳的情况下,可以实现对ECU中Boot Loader的更新,并且,无需占用ECU中额外的存储空间,同时可以实现对更新程序的升级。The embodiment of the present application provides a method and device for updating the boot loader, so that the Boot Loader in the ECU can be updated without opening the shell, and it does not need to occupy additional storage space in the ECU. Implement the upgrade to the updater.
第一方面,本申请实施例提供了一种更新引导加载程序的方法,所述方法包括:In the first aspect, the embodiment of the present application provides a method for updating a boot loader, the method comprising:
将目标程序存储于电子控制单元ECU中的第一存储区域,所述目标程序至少包括更新程序,所述第一存储区域在存储所述目标程序之前用于存储应用程序;storing the target program in a first storage area in the electronic control unit ECU, the target program at least including an update program, and the first storage area is used to store an application program before storing the target program;
存储新版本的加载引导程序;store the new version of the loaded bootloader;
通过执行所述更新程序,将所述ECU中第二存储区域中旧版本的引导加载程序,更新为所述新版本的引导加载程序。By executing the update program, the old version of the boot loader in the second storage area in the ECU is updated to the new version of the boot loader.
在一些可能的实施方式中,所述目标程序还包括新版本的加载引导程序,所述存储新版本的加载引导程序,包括:In some possible implementation manners, the target program also includes a new version of the loading boot program, and the storage of the new version of the loading boot program includes:
在所述第一存储区域中存储所述新版本的加载引导程序。The new version of the loaded boot program is stored in the first storage area.
在一些可能的实施方式中,所述通过执行所述更新程序,将所述ECU中第二存储区域中旧版本的引导加载程序,更新为所述新版本的引导加载程序,包括:In some possible implementation manners, the updating of the boot loader of the old version in the second storage area in the ECU to the boot loader of the new version by executing the update program includes:
校验所述新版本的引导加载程序与所述第二存储区域中旧版本的引导加载程序是否一致;verifying whether the new version of the bootloader is consistent with the old version of the bootloader in the second storage area;
当确定所述新版本的引导加载程序与所述旧版本的引导加载程序不一致时,将所述ECU中第二存储区域中旧版本的引导加载程序更新为所述新版本的引导加载程序。When it is determined that the new version of the bootloader is inconsistent with the old version of the bootloader, updating the old version of the bootloader in the second storage area in the ECU to the new version of the bootloader.
在一些可能的实施方式中,所述方法还包括:In some possible implementation manners, the method also includes:
在将所述第二存储区域中旧版本的引导加载程序更新为所述新版本的引导加载程序后,恢复所述应用程序在所述第一存储区域中的存储。After the bootloader of the old version in the second storage area is updated to the bootloader of the new version, the storage of the application program in the first storage area is resumed.
第二方面,本申请实施例还提供了一种更新引导加载程序的装置,所述装置包括:In the second aspect, the embodiment of the present application also provides a device for updating a boot loader, the device comprising:
第一存储模块,用于将目标程序存储于电子控制单元ECU中的第一存储区域,所述目标程序至少包括更新程序,所述第一存储区域在存储所述目标程序之前用于存储应用程序;The first storage module is used to store the target program in a first storage area in the electronic control unit ECU, the target program at least includes an update program, and the first storage area is used to store an application program before storing the target program ;
第二存储模块,用于存储新版本的加载引导程序;The second storage module is used to store the loading boot program of the new version;
更新模块,用于通过执行所述更新程序,将所述ECU中第二存储区域中旧版本的引导加载程序,更新为所述新版本的引导加载程序。An update module, configured to update the boot loader of the old version in the second storage area in the ECU to the boot loader of the new version by executing the update program.
在一些可能的实施方式中,所述目标程序还包括新版本的加载引导程序,所述第二存储模块,具体用于在所述第一存储区域中存储所述新版本的加载引导程序。In some possible implementation manners, the target program further includes a new version of the loading boot program, and the second storage module is specifically configured to store the new version of the loading boot program in the first storage area.
在一些可能的实施方式中,所述更新模块,包括:In some possible implementation manners, the update module includes:
校验单元,用于校验所述新版本的引导加载程序与所述第二存储区域中旧版本的引导加载程序是否一致;a checking unit, configured to check whether the new version of the boot loader is consistent with the old version of the boot loader in the second storage area;
更新单元,用于当确定所述新版本的引导加载程序与所述旧版本的引导加载程序不一致时,将所述ECU中第二存储区域中旧版本的引导加载程序更新为所述新版本的引导加载程序。an update unit, configured to update the old version of the bootloader in the second storage area in the ECU to the new version when it is determined that the new version of the bootloader is inconsistent with the old version of the bootloader Bootloader.
在一些可能的实施方式中,所述装置还包括:In some possible implementation manners, the device also includes:
恢复模块,用于在将所述第二存储区域中旧版本的引导加载程序更新为所述新版本的引导加载程序后,恢复所述应用程序在所述第一存储区域中的存储。A restoration module, configured to restore the storage of the application program in the first storage area after updating the bootloader program of the old version in the second storage area to the bootloader program of the new version.
在本申请实施例的上述实现方式中,当确定需要更新ECU中的Boot Loader时,可以将目标程序存储于ECU中的第一存储区域中,其中,该目标程序至少包括更新程序,并且,第一存储区域在存储目标程序之前被用于存储应用程序,然后,可以在ECU中存储新版本的引导加载程序,并通过执行该更新程序,将所述ECU中第二存储区域中旧版本的引导加载程序,更新为所述新版本的引导加载程序。由此可见,在更新Boot Loader的过程中,可以采用向ECU中刷写应用程序的方式将更新程序刷写到ECU中用于存储应用程序的第一存储区域中,从而通过执行该第一存储区域中的更新程序,可以实现在不开壳的情况下,利用新版本的Boot Loader更新ECU中旧版本的Boot Loader,进而对ECU中的Boot Loader的更新,并且,由于每次更新Boot Loader时都是将更新程序烧录至ECU中原先存储应用程序的区域,因此,也无需占用ECU额外的存储空间;同时,每次更新ECU中的Boot Loader时,更新程序可以根据实际需求进行设定,并不固定,从而也可以实现对更新程序的升级。In the above implementation of the embodiment of the present application, when it is determined that the Boot Loader in the ECU needs to be updated, the target program can be stored in the first storage area in the ECU, wherein the target program includes at least an update program, and the second A storage area is used to store the application program before storing the target program. Then, a new version of the boot loader can be stored in the ECU, and by executing the update program, the old version of the boot loader in the second storage area in the ECU can be replaced. loader, updated to the new version of the bootloader. It can be seen that in the process of updating the Boot Loader, the update program can be written into the first storage area in the ECU for storing the application program by flashing the application program into the ECU, so that by executing the first storage The update program in the area can realize the update of the old version of the Boot Loader in the ECU with the new version of the Boot Loader without opening the shell, and then update the Boot Loader in the ECU, and because each time the Boot Loader is updated The update program is burned into the area where the application program was originally stored in the ECU, so there is no need to occupy additional storage space of the ECU; at the same time, each time the Boot Loader in the ECU is updated, the update program can be set according to actual needs. It is not fixed, so that the upgrade of the update program can also be realized.
附图说明Description of drawings
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings that need to be used in the description of the embodiments. Obviously, the drawings in the following description are only some implementations recorded in the application. For example, those skilled in the art can also obtain other drawings based on these drawings.
图1为本申请实施例中一应用场景示意图;FIG. 1 is a schematic diagram of an application scenario in an embodiment of the present application;
图2为本申请实施例中一种更新引导加载程序的方法流程示意图;FIG. 2 is a schematic flow chart of a method for updating a boot loader in an embodiment of the present application;
图3为ECU中存储区域的划分示意图;Fig. 3 is a schematic diagram of division of storage areas in the ECU;
图4为新版本的Boot Loader与更新程序在第一存储区域中的存储示意图;Fig. 4 is a schematic diagram of storage of a new version of Boot Loader and an update program in the first storage area;
图5为本申请实施例中一种更新引导加载程序的装置结构示意图。FIG. 5 is a schematic structural diagram of a device for updating a boot loader in an embodiment of the present application.
具体实施方式Detailed ways
当ECU中的Boot Loader功能不能满足实际应用的需求时,通常需要对ECU中的Boot Loader进行升级更新。而现有的更新ECU中Boot Loader的两种方式,均具有一定的缺陷。具体的,对于第一种更新Boot Loader的实施方式,由于ECU通常是嵌入硬件设备中,因此,当需要对ECU中的引导加载程序进行更新时,通常需要对ECU所在设备进行开壳处理,以取出硬件设备中的ECU,并通过调用相应的调试器向该ECU中刷写新版本的Boot Loader,从而利用新版本的Boot Loader更新ECU中旧版本的Boot Loader。但是,由于在更新ECU中Boot Loader时需要对硬件设备进行开壳,开壳过程中硬件设备受损的风险较高。为此,在另一种无需开壳即可完成更新Boot Loader的实施方式中,通常是预先在ECU的RAM或者FLASH存储器中存储更新程序,而当ECU中的引导加载程序需要进行升级更新时,可以利用ECU的RAM或者FLASH存储器中存储的更新程序,可以将ECU中旧版本的引导加载程序更新为刷写至ECU中的新版本的加载引导程序,从而在无需开壳的条件下完成ECU中Boot Loader的更新。但是,这种更新Boot Loader的实施方式中,不仅需要长时间额外占用ECU中RAM或者FLASH存储器中一定大小的存储空间来存储更新程序,而且,由于存储于ECU中的更新程序固定,即更新ECU中Boot Loader的方法固定,从而无法对ECU中的更新程序进行升级更新。When the Boot Loader function in the ECU cannot meet the needs of practical applications, it is usually necessary to upgrade the Boot Loader in the ECU. However, the existing two methods for updating the Boot Loader in the ECU have certain defects. Specifically, for the first implementation of updating the Boot Loader, since the ECU is usually embedded in a hardware device, when the boot loader in the ECU needs to be updated, it is usually necessary to open the shell of the device where the ECU is located to Take out the ECU in the hardware device, and flash a new version of the Boot Loader to the ECU by calling the corresponding debugger, so as to update the old version of the Boot Loader in the ECU with the new version of the Boot Loader. However, since the hardware device needs to be unpacked when updating the Boot Loader in the ECU, the risk of damage to the hardware device during the unpacking process is relatively high. For this reason, in another embodiment that can complete the update Boot Loader without opening the shell, the update program is usually stored in the RAM or FLASH memory of the ECU in advance, and when the boot loader in the ECU needs to be updated, The update program stored in the ECU's RAM or FLASH memory can be used to update the old version of the bootloader in the ECU to the new version of the bootloader written into the ECU, so that the ECU can be completed without opening the shell. Update of Boot Loader. However, in this implementation of updating the Boot Loader, it is not only necessary to additionally occupy a certain size of storage space in the RAM or FLASH memory in the ECU for a long time to store the update program, but also because the update program stored in the ECU is fixed, that is, to update the ECU The method of the Boot Loader in the ECU is fixed, so that the update program in the ECU cannot be updated.
基于此,本申请实施例提供了一种更新引导加载程序的方法,以使得在无需开壳的情况下,可以实现对ECU中Boot Loader的升级更新,并且,无需占用ECU额外的存储空间。具体实现时,当确定需要更新ECU中的Boot Loader时,可以将目标程序存储于ECU中的第一存储区域中,其中,该目标程序至少包括更新程序,并且,第一存储区域在存储目标程序之前被用于存储应用程序,然后,可以在ECU中存储新版本的引导加载程序,并通过执行该更新程序,将所述ECU中第二存储区域中旧版本的引导加载程序,更新为所述新版本的引导加载程序。由此可见,在更新Boot Loader的过程中,可以采用向ECU中刷写应用程序的方式将更新程序刷写到ECU中用于存储应用程序的第一存储区域中,从而通过执行该第一存储区域中的更新程序,可以实现在不开壳的情况下,利用新版本的Boot Loader更新ECU中旧版本的Boot Loader,进而对ECU中的Boot Loader的更新,并且,由于每次更新Boot Loader时都是将更新程序烧录至ECU中原先存储应用程序的区域,因此,也无需占用ECU额外的存储空间;同时,每次更新ECU中的Boot Loader时,更新程序可以根据实际需求进行设定,并不固定,从而也可以实现对更新程序的升级。Based on this, the embodiment of the present application provides a method for updating the boot loader, so that the Boot Loader in the ECU can be upgraded and updated without opening the shell, and no additional storage space of the ECU is required. During specific implementation, when it is determined that the Boot Loader in the ECU needs to be updated, the target program can be stored in the first storage area in the ECU, wherein the target program at least includes an update program, and the first storage area is storing the target program was previously used to store application programs, then a new version of the bootloader can be stored in the ECU, and by executing the update procedure, the old version of the bootloader in the second storage area in the ECU can be updated to the New version of the bootloader. It can be seen that in the process of updating the Boot Loader, the update program can be written into the first storage area in the ECU for storing the application program by flashing the application program into the ECU, so that by executing the first storage The update program in the area can realize the update of the old version of the Boot Loader in the ECU with the new version of the Boot Loader without opening the shell, and then update the Boot Loader in the ECU, and because each time the Boot Loader is updated The update program is burned into the area where the application program was originally stored in the ECU, so there is no need to occupy additional storage space of the ECU; at the same time, each time the Boot Loader in the ECU is updated, the update program can be set according to actual needs. It is not fixed, so that the upgrade of the update program can also be realized.
作为一种示例,本申请实施例可以应用于如图1所示的示例性应用场景。在该应用场景中,用户101可以在上位机102开发出新版本的Boot Loader,并且,当ECU103中的BootLoader需要进行更新时,用户101可以将上位机102与ECU103进行连接,并且,将上位机102中保存的新版本的Boot Loader以及更新程序一起刷写至ECU103中原先用于存储应用程序的第一存储区域;ECU103在完成新版本Boot Loader以及更新程序的存储后,可以通过执行该更新程序,利用该新版本的Boot Loader更新ECU中第二存储区域中旧版本的BootLoader,从而完成ECU中Boot Loader的升级更新。As an example, this embodiment of the present application may be applied to the exemplary application scenario shown in FIG. 1 . In this application scenario, the user 101 can develop a new version of Boot Loader on the upper computer 102, and when the BootLoader in the ECU 103 needs to be updated, the user 101 can connect the upper computer 102 to the ECU 103, and the upper computer The new version of Boot Loader saved in 102 and the update program are flashed together to the first storage area originally used to store the application program in the ECU103; , using the new version of the Boot Loader to update the old version of the Boot Loader in the second storage area of the ECU, thereby completing the upgrade of the Boot Loader in the ECU.
可以理解的是,上述场景仅是本申请实施例提供的一个场景示例,本申请实施例并不限于此场景,而可以应用于任何可适用的应用场景中。It can be understood that the foregoing scenario is only an example of a scenario provided by the embodiment of the present application, and the embodiment of the present application is not limited to this scenario, but may be applied to any applicable application scenario.
为使本申请的上述目的、特征和优点能够更加明显易懂,下面将结合附图对本申请实施例中的各种非限定性实施方式进行示例性说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。In order to make the above objects, features and advantages of the present application more obvious and comprehensible, various non-limiting implementations in the embodiments of the present application will be illustrated below with reference to the accompanying drawings. Apparently, the described embodiments are some of the embodiments of the present application, but not all of them. Based on the embodiments in this application, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the scope of protection of this application.
参阅图2,图2示出了本申请实施例中一种更新引导加载程序方法的流程示意图,该方法具体可以包括:Referring to FIG. 2, FIG. 2 shows a schematic flow chart of a method for updating a boot loader in an embodiment of the present application, and the method may specifically include:
S201:将目标程序存储于ECU中的第一存储区域,其中,该目标程序至少包括更新程序,并且该第一存储区域在存储目标程序之前用于存储应用程序。S201: Store the target program in a first storage area in the ECU, wherein the target program includes at least an update program, and the first storage area is used to store an application program before storing the target program.
S202:存储新版本的加载引导程序。S202: storing a new version of the bootloader.
S203:执行该更新程序,将ECU中第二存储区域中旧版本的引导加载程序更新为新版本的引导加载程序。S203: Execute the update program to update the boot loader of the old version in the second storage area of the ECU to the boot loader of the new version.
实际应用中,ECU的存储区域可以划分为第一存储区域、第二存储区域以及其它数据存储区域三个区域,如图3所示。其中,第一存储区域用于存储应用程序,第二存储区域用于存储Boot Loader,而其它数据存储区域用于存储诸如运行参数、加密数据等数据。In practical applications, the storage area of the ECU can be divided into three areas, the first storage area, the second storage area and other data storage areas, as shown in FIG. 3 . Among them, the first storage area is used to store application programs, the second storage area is used to store Boot Loader, and other data storage areas are used to store data such as operating parameters and encrypted data.
本实施例中,当需要对ECU中第二存储区域中存储的旧版本的Boot Loader进行升级更新时,虽然无法直接向第二存储区域中刷写新版本的Boot Loader,但是可以参照现有的向第一存储区域中刷写应用程序的刷写流程,向该第一存储区域中刷写目标程序,也即将目标程序存储于原先用于存储应用程序的存储区域中。其中,该目标程序至少包括更新程序。这样,ECU中可以无需使用额外的存储空间来长期存储更新程序,并且,当ECU中存储有新版本的Boot Loader时,可以在ECU中通过执行该更新程序,利用新版本的Boot Loader更新第二存储区域中旧版本的Boot Loader。In this embodiment, when the old version of the Boot Loader stored in the second storage area in the ECU needs to be upgraded and updated, although it is impossible to directly flash the new version of the Boot Loader in the second storage area, you can refer to the existing In the flashing process of flashing the application program into the first storage area, the target program is flashed into the first storage area, that is, the target program is stored in the storage area originally used for storing the application program. Wherein, the target program includes at least an update program. In this way, the update program can be stored for a long time without using additional storage space in the ECU, and when a new version of the Boot Loader is stored in the ECU, the update program can be executed in the ECU to update the second version of the Boot Loader. The old version of the Boot Loader in the storage area.
值得注意的是,新版本的加载引导程序,可以是随更新程序一起被刷写至ECU中,即上述目标程序除了可以包括更新程序之外,还可以包括新版本的Boot Loader。如图4所示,在第一存储区域中不仅可以存储有新版本的Boot Loader,还可以存储该更新程序。这样,当新版本的Boot Loader被刷写到ECU中的第一存储区域中后,可以自动或者人为触发该更新程序被执行,从而使得将第二存储区域中的Boot Loader更新为新版本的BootLoader。It is worth noting that the new version of the bootloader can be flashed into the ECU together with the update program, that is, the above target program can also include the new version of the Boot Loader in addition to the update program. As shown in FIG. 4 , not only the new version of the Boot Loader but also the update program can be stored in the first storage area. In this way, when the new version of the Boot Loader is flashed into the first storage area in the ECU, the update program can be automatically or manually triggered to be executed, so that the Boot Loader in the second storage area is updated to the new version of the Boot Loader .
实际应用中,目标程序在该第一存储区域中的地址范围是与该第一存储区域中原应用程序的地址范围一致。因此,当需要更新ECU中的Boot Loader时,可以临时使用原应用程序的地址空间,以将目标程序刷写至第一存储区域中。可以理解,在该实施方式中,由于每次更新Boot Loader时,被刷写至第一存储区域中的目标程序都是临时占用原应用程序的地址范围,无需占用额外的RAM或者FLASH存储器中的存储空间。In practical applications, the address range of the target program in the first storage area is consistent with the address range of the original application program in the first storage area. Therefore, when the Boot Loader in the ECU needs to be updated, the address space of the original application program can be temporarily used to flash the target program into the first storage area. It can be understood that in this embodiment, since the target program flashed into the first storage area temporarily occupies the address range of the original application program every time the Boot Loader is updated, there is no need to occupy additional memory in RAM or FLASH memory. storage.
而在其它可能的实施方式中,被刷写至第一存储区域中的目标程序也可以仅是更新程序,并且,当更新程序被刷写至第一存储区域后,可以再将新版本的Boot Loader刷写至ECU中。值得注意的是,该新版本的Boot Loade可以是被存储于ECU中的RAM(并不属于第一存储区域)中。在该实施方式中,可以不用在将新版本的Boot Loader中的所有数据全部刷写至ECU中后才进行Boot Loader的更新,而可以进行分段更新。比如,新版本的BootLoader在被刷写十分之一后,可以先用该十分之一的数据更新第二存储区域中的BootLoader的对应部分,并且在完成该部分的更新后,可以再刷写下一十分之一的数据,并进行下一十分之一数据的更新,按照该方式进行分段更新,从而最终完成所有Boot Loader数据的更新。In other possible implementations, the target program flashed into the first storage area may only be an update program, and after the update program is flashed into the first storage area, the new version of the Boot The Loader is flashed to the ECU. It should be noted that the new version of the Boot Loader may be stored in the RAM (not belonging to the first storage area) of the ECU. In this implementation manner, it is not necessary to update the Boot Loader after flashing all the data in the new version of the Boot Loader to the ECU, but to perform segmented update. For example, after one-tenth of the BootLoader of the new version is flashed, it can first update the corresponding part of the BootLoader in the second storage area with the data of the tenth, and after completing the update of this part, it can be flashed again. Write down one-tenth of the data, and update the next one-tenth of the data, and perform segmented updates in this way, so as to finally complete the update of all Boot Loader data.
进一步的,当更新程序被执行时, ECU可以比较或者校验当前第一存储区域中新版本的Boot Loader与第二存储区域中旧版本的Boot Loader是否一致。可以理解,若ECU中旧版本的Boot Loader的功能不满足实际应用的需求时,可以对ECU中旧版本的BootLoader进行更新,而在其它可能的应用场景中,也可能是需要定期的对ECU中的BootLoader进行更新,此时,每次更新时刷写至第一存储区域中新版本的Boot Loader,可能与第二存储区域中旧版本的Boot Loader不一致,也可能与第二存储区域中新版本的一致。因此,在一些可能的实施方式中,ECU可以是在确定两个版本的Boot Loader不一致时,才将第二存储区域中的Boot Loader替换为新版本的Boot Loader,而当两个版本的Boot Loader一致时,ECU无需再消耗计算资源进行Boot Loader的替换。这样,可以避免ECU每次上电时都会利用第一存储区域中的Boot Loader更新第二存储区域中的Boot Loader,而且,实际应用中,第一存储区域可以为FLASH存储器,而FLASH存储器的擦除次数是有限的,对两个版本的Boot Loader进行一致性校验可以避免ECU浪费FLASH的擦除次数,也可以避免在不必要的更新Boot Loader的过程中,因为ECU断电而造成Boot Loader不完整,进而造成ECU的无法运行。Further, when the update program is executed, the ECU can compare or check whether the new version of the Boot Loader in the current first storage area is consistent with the old version of the Boot Loader in the second storage area. It can be understood that if the function of the old version of the Boot Loader in the ECU does not meet the requirements of the actual application, the old version of the Boot Loader in the ECU can be updated, and in other possible application scenarios, it may also be necessary to periodically update the At this time, the new version of the Boot Loader in the first storage area may be inconsistent with the old version of the Boot Loader in the second storage area, or may be inconsistent with the new version in the second storage area. consistent. Therefore, in some possible implementations, the ECU may replace the Boot Loader in the second storage area with a new version of the Boot Loader when it is determined that the two versions of the Boot Loader are inconsistent, and when the two versions of the Boot Loader When they are consistent, the ECU does not need to consume computing resources to replace the Boot Loader. In this way, it is possible to prevent the ECU from updating the Boot Loader in the second storage area with the Boot Loader in the first storage area every time the ECU is powered on. Moreover, in practical applications, the first storage area can be a FLASH memory, and the erasing of the FLASH memory The number of erasures is limited, and the consistency check of the two versions of the Boot Loader can prevent the ECU from wasting the erasing times of the FLASH, and can also prevent the Boot Loader from being damaged due to the power failure of the ECU during the unnecessary update of the Boot Loader. Incomplete, resulting in the inoperability of the ECU.
其中,校验两个版本的Boot Loader是否一致的实施方式较多,可以参照现有技术中对两段数据进行一致性校验的方式。比如,可以是将两个版本的Boot Loader中的程序代码进行逐一对比;也可以是分别计算出两个版本的Boot Loader的哈希值,从而对两个哈希值进行比对;也可以是利用循环冗余校验(Cyclic Redundancy Check, CRC)对两个版本的Boot Loader进行一致性校验等。Among them, there are many implementations for checking whether the two versions of the Boot Loader are consistent, and you can refer to the way of checking the consistency of two pieces of data in the prior art. For example, it may be to compare the program codes in the two versions of the Boot Loader one by one; it may also be to calculate the hash values of the two versions of the Boot Loader respectively, so as to compare the two hash values; it may also be A cyclic redundancy check (Cyclic Redundancy Check, CRC) is used to check the consistency of the two versions of the Boot Loader.
当然,在其它可能的实施方式中,ECU也可以直接利用第一存储区域中新版本的Boot Loader更新第二存储区域中旧版本的Boot Loader。即,无论每次刷写至第一存储区域中的Boot Loader是否与第二存储区域中的Boot Loader相同,ECU均可以执行第二存储区域中Boot Loader的替换。Of course, in other possible implementation manners, the ECU may also directly use the new version of the Boot Loader in the first storage area to update the old version of the Boot Loader in the second storage area. That is, no matter whether the Boot Loader written in the first storage area is the same as the Boot Loader in the second storage area each time, the ECU can replace the Boot Loader in the second storage area.
需要说明的是,目标程序在被刷写至第一存储区域后,可以覆盖第一存储区域中原有的应用程序,此时,在进一步的实施方式中,还可以在完成对第一存储区域中BootLoader的更新后,恢复之前被覆盖的应用程序在第一存储区域中的存储,或者说将第一存储区域中存储的数据恢复成更新Boot Loader前第一存储区域中的数据,以便于该ECU的正常运行。It should be noted that after the target program is flashed to the first storage area, it can overwrite the original application program in the first storage area. After the update of BootLoader, restore the storage of the previously covered application program in the first storage area, or restore the data stored in the first storage area to the data in the first storage area before updating the Boot Loader, so that the ECU of normal operation.
本实施例中,当确定需要更新ECU中的Boot Loader时,可以将目标程序存储于ECU中的第一存储区域中,其中,该目标程序至少包括更新程序,并且,第一存储区域在存储目标程序之前被用于存储应用程序,然后,可以在ECU中存储新版本的引导加载程序,并通过执行该更新程序,将所述ECU中第二存储区域中旧版本的引导加载程序,更新为所述新版本的引导加载程序。由此可见,在更新Boot Loader的过程中,可以采用向ECU中刷写应用程序的方式将更新程序刷写到ECU中用于存储应用程序的第一存储区域中,从而通过执行该第一存储区域中的更新程序,可以实现在不开壳的情况下,利用新版本的Boot Loader更新ECU中旧版本的Boot Loader,进而对ECU中的Boot Loader的更新,并且,由于每次更新BootLoader时都是将更新程序烧录至ECU中原先存储应用程序的区域,因此,也无需占用ECU额外的存储空间;同时,每次更新ECU中的Boot Loader时,更新程序可以根据实际需求进行设定,并不固定,从而也可以实现对更新程序的升级。In this embodiment, when it is determined that the Boot Loader in the ECU needs to be updated, the target program can be stored in the first storage area in the ECU, wherein the target program includes at least the update program, and the first storage area is stored in the target program. The program was previously used to store the application program, then a new version of the bootloader can be stored in the ECU, and by executing the update procedure, the old version of the bootloader in the second storage area in the ECU can be updated to the The new version of the bootloader is described. It can be seen that in the process of updating the Boot Loader, the update program can be written into the first storage area in the ECU for storing the application program by flashing the application program into the ECU, so that by executing the first storage The update program in the area can realize the update of the old version of the Boot Loader in the ECU with the new version of the Boot Loader without opening the shell, and then update the Boot Loader in the ECU. It is to burn the update program to the area where the application program was originally stored in the ECU, so it does not need to occupy additional storage space of the ECU; at the same time, each time the Boot Loader in the ECU is updated, the update program can be set according to actual needs, and It is not fixed, so that the update program can also be upgraded.
此外,本申请实施例还提供了一种更新引导加载程序的装置。参阅图5,图5示出了本申请实施例中一种更新引导加载程序的装置的结构示意图,装置500包括:In addition, the embodiment of the present application also provides a device for updating a boot loader. Referring to FIG. 5, FIG. 5 shows a schematic structural diagram of a device for updating a boot loader in an embodiment of the present application. The device 500 includes:
第一存储模块501,用于将目标程序存储于电子控制单元ECU中的第一存储区域,所述目标程序至少包括更新程序,所述第一存储区域在存储所述目标程序之前用于存储应用程序;The first storage module 501 is used to store the target program in the first storage area in the electronic control unit ECU, the target program includes at least an update program, and the first storage area is used to store the application before storing the target program program;
第二存储模块502,用于存储新版本的加载引导程序;The second storage module 502 is used to store the loading boot program of the new version;
更新模块503,用于通过执行所述更新程序,将所述ECU中第二存储区域中旧版本的引导加载程序,更新为所述新版本的引导加载程序。The update module 503 is configured to update the boot loader of the old version in the second storage area of the ECU to the boot loader of the new version by executing the update program.
在一些可能的实施方式中,所述目标程序还包括新版本的加载引导程序,所述第二存储模块502,具体用于在所述第一存储区域中存储所述新版本的加载引导程序。In some possible implementation manners, the target program further includes a new version of the loading boot program, and the second storage module 502 is specifically configured to store the new version of the loading boot program in the first storage area.
在一些可能的实施方式中,所述更新模块503,包括:In some possible implementation manners, the update module 503 includes:
校验单元,用于校验所述新版本的引导加载程序与所述第二存储区域中旧版本的引导加载程序是否一致;a checking unit, configured to check whether the new version of the boot loader is consistent with the old version of the boot loader in the second storage area;
更新单元,用于当确定所述新版本的引导加载程序与所述旧版本的引导加载程序不一致时,将所述ECU中第二存储区域中旧版本的引导加载程序更新为所述新版本的引导加载程序。an update unit, configured to update the old version of the bootloader in the second storage area in the ECU to the new version when it is determined that the new version of the bootloader is inconsistent with the old version of the bootloader Bootloader.
在一些可能的实施方式中,所述装置500还包括:In some possible implementation manners, the device 500 also includes:
恢复模块,用于在将所述第二存储区域中旧版本的引导加载程序更新为所述新版本的引导加载程序后,恢复所述应用程序在所述第一存储区域中的存储。A restoration module, configured to restore the storage of the application program in the first storage area after updating the bootloader program of the old version in the second storage area to the bootloader program of the new version.
需要说明的是,上述装置各模块与单元之间的信息交互、执行过程等内容,由于与本申请实施例中方法实施例基于同一构思,其带来的技术效果与本申请实施例中方法实施例相同,具体实施过程与带来的技术效果可参见本申请实施例前述所示的方法实施例中的叙述,此处不再赘述。It should be noted that the information interaction and execution process between the modules and units of the above-mentioned device are based on the same concept as the method embodiment in the embodiment of the present application, and the technical effects brought about by it are the same as those implemented by the method in the embodiment of the present application. The example is the same, and the specific implementation process and the technical effects brought about can refer to the description in the method embodiment shown above in the embodiment of the present application, and will not be repeated here.
本实施例中,在更新Boot Loader的过程中,可以采用向ECU中刷写应用程序的方式将更新程序刷写到ECU中用于存储应用程序的第一存储区域中,从而通过执行该第一存储区域中的更新程序,可以实现在不开壳的情况下,利用新版本的Boot Loader更新ECU中旧版本的Boot Loader,进而对ECU中的Boot Loader的更新,并且,由于每次更新BootLoader时都是将更新程序烧录至ECU中原先存储应用程序的区域,因此,也无需占用ECU额外的存储空间;同时,每次更新ECU中的Boot Loader时,更新程序可以根据实际需求进行设定,并不固定,从而也可以实现对更新程序的升级。In this embodiment, in the process of updating the Boot Loader, the update program can be written into the first storage area in the ECU for storing the application program by flashing the application program into the ECU, so that by executing the first The update program in the storage area can update the old version of the Boot Loader in the ECU with the new version of the Boot Loader without opening the shell, and then update the Boot Loader in the ECU. The update program is burned into the area where the application program was originally stored in the ECU, so there is no need to occupy additional storage space of the ECU; at the same time, each time the Boot Loader in the ECU is updated, the update program can be set according to actual needs. It is not fixed, so that the upgrade of the update program can also be realized.
本申请实施例中提到的“第一存储区域”等名称中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”等。The "first" in the names such as "the first storage area" mentioned in the embodiment of the present application is only used for name identification, and does not mean the first in order. The same rule applies to "second" etc.
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。From the above description of the implementation manners, it can be seen that those skilled in the art can clearly understand that all or part of the steps in the methods of the above embodiments can be implemented by means of software plus a general hardware platform. Based on this understanding, the technical solution of this application can be embodied in the form of software products, and the computer software products can be stored in storage media, such as read-only memory (English: read-only memory, ROM)/RAM, disk, CDs, etc., include several instructions to make a computer device (which may be a personal computer, a server, or a network communication device such as a router) execute the methods described in various embodiments or some parts of the embodiments of this application.
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。Each embodiment in this specification is described in a progressive manner, the same and similar parts of each embodiment can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, as for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and for relevant parts, please refer to part of the description of the method embodiment. The device embodiments described above are only illustrative, and the modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical modules, that is, they may be located in one place , or can also be distributed to multiple network elements. Part or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. It can be understood and implemented by those skilled in the art without creative effort.
以上所述仅是本申请示例性的实施方式,并非用于限定本申请的保护范围。The above descriptions are only exemplary implementations of the present application, and are not intended to limit the protection scope of the present application.
Claims (8)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910708731.4A CN110209420A (en) | 2019-08-01 | 2019-08-01 | A kind of method and device updating bootstrap loader |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910708731.4A CN110209420A (en) | 2019-08-01 | 2019-08-01 | A kind of method and device updating bootstrap loader |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN110209420A true CN110209420A (en) | 2019-09-06 |
Family
ID=67797841
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910708731.4A Pending CN110209420A (en) | 2019-08-01 | 2019-08-01 | A kind of method and device updating bootstrap loader |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN110209420A (en) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111796848A (en) * | 2020-07-08 | 2020-10-20 | 中国第一汽车股份有限公司 | Bootloader software updating method and device, embedded controller and storage medium |
| CN112667265A (en) * | 2021-01-20 | 2021-04-16 | 北京经纬恒润科技股份有限公司 | Method and device for updating bootstrap program |
| CN114461254A (en) * | 2022-03-17 | 2022-05-10 | 潍柴动力股份有限公司 | A software program updating method and related device |
| WO2022188690A1 (en) * | 2021-03-08 | 2022-09-15 | 华为技术有限公司 | Method and apparatus for upgrading electronic device |
| WO2022194048A1 (en) * | 2021-03-17 | 2022-09-22 | 广州橙行智动汽车科技有限公司 | Method and device for data update, and vehicle |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103995712A (en) * | 2014-04-16 | 2014-08-20 | 潍柴动力股份有限公司 | Boot loader device capable of updating automatically and updating method thereof |
| CN106250196A (en) * | 2016-08-12 | 2016-12-21 | 上海金脉电子科技有限公司 | The method updating vehicle-mounted boot loader by CAN communication |
| CN107992312A (en) * | 2016-10-25 | 2018-05-04 | 中兴通讯股份有限公司 | A kind of upgrade package delivery method and device |
| CN109857426A (en) * | 2018-12-27 | 2019-06-07 | 百度在线网络技术(北京)有限公司 | Bootloader method for updating program, device, electronic equipment and storage medium |
| CN109933348A (en) * | 2019-01-21 | 2019-06-25 | 宁波普瑞均胜汽车电子有限公司 | The update method and device of Bootloader in a kind of electronic control unit |
-
2019
- 2019-08-01 CN CN201910708731.4A patent/CN110209420A/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103995712A (en) * | 2014-04-16 | 2014-08-20 | 潍柴动力股份有限公司 | Boot loader device capable of updating automatically and updating method thereof |
| CN106250196A (en) * | 2016-08-12 | 2016-12-21 | 上海金脉电子科技有限公司 | The method updating vehicle-mounted boot loader by CAN communication |
| CN107992312A (en) * | 2016-10-25 | 2018-05-04 | 中兴通讯股份有限公司 | A kind of upgrade package delivery method and device |
| CN109857426A (en) * | 2018-12-27 | 2019-06-07 | 百度在线网络技术(北京)有限公司 | Bootloader method for updating program, device, electronic equipment and storage medium |
| CN109933348A (en) * | 2019-01-21 | 2019-06-25 | 宁波普瑞均胜汽车电子有限公司 | The update method and device of Bootloader in a kind of electronic control unit |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111796848A (en) * | 2020-07-08 | 2020-10-20 | 中国第一汽车股份有限公司 | Bootloader software updating method and device, embedded controller and storage medium |
| WO2022007656A1 (en) * | 2020-07-08 | 2022-01-13 | 中国第一汽车股份有限公司 | Bootloader software updating method and apparatus, embedded controller, and storage medium |
| CN112667265A (en) * | 2021-01-20 | 2021-04-16 | 北京经纬恒润科技股份有限公司 | Method and device for updating bootstrap program |
| CN112667265B (en) * | 2021-01-20 | 2024-05-07 | 北京经纬恒润科技股份有限公司 | A boot program updating method and device |
| WO2022188690A1 (en) * | 2021-03-08 | 2022-09-15 | 华为技术有限公司 | Method and apparatus for upgrading electronic device |
| WO2022194048A1 (en) * | 2021-03-17 | 2022-09-22 | 广州橙行智动汽车科技有限公司 | Method and device for data update, and vehicle |
| CN114461254A (en) * | 2022-03-17 | 2022-05-10 | 潍柴动力股份有限公司 | A software program updating method and related device |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110209420A (en) | A kind of method and device updating bootstrap loader | |
| US7971199B1 (en) | Mobile device with a self-updating update agent in a wireless network | |
| US20140250290A1 (en) | Method for Software Anti-Rollback Recovery | |
| CN112416406B (en) | Terminal equipment upgrading method, device, terminal equipment and medium | |
| CN111552491A (en) | Method, device and storage medium for upgrading firmware of transfer equipment of mobile carrier | |
| CN103745158A (en) | Method and device for repairing system bugs | |
| CN107301070B (en) | Upgrading method and terminal | |
| CN113114730B (en) | Upgrading method and device, terminal equipment and storage medium | |
| CN102609328A (en) | System difference upgrade method and device and mobile terminal | |
| CN106250192A (en) | The method for upgrading software of host computer and system | |
| CN107506221A (en) | Application program updating method, apparatus and equipment | |
| CN101188516A (en) | A method for high-reliability self-adaptive remote update of network equipment software system | |
| CN110162429A (en) | System repair, server and storage medium | |
| CN102654839A (en) | Method and device for realizing reliable upgrading of FPGA (field programmable gate array) | |
| CN114741096B (en) | Upgrade processing methods, equipment and storage media | |
| CN107003876A (en) | Firmware updates | |
| CN110083367A (en) | Optimized treatment method, device and the computer equipment of application installation package | |
| WO2020029967A1 (en) | Method and apparatus for repairing fault in operating system | |
| CN102880478B (en) | Software update method | |
| WO2016082450A1 (en) | Method for upgrading user terminal, and user terminal | |
| WO2015184732A1 (en) | Bootstrap storage method, bootstrap fault recovery method and device, and computer storage medium | |
| WO2021012170A1 (en) | Firmware booting method and device, and computer-readable storage medium | |
| CN119938077A (en) | Linux system burning method, device, electronic equipment and storage medium | |
| CN119105784A (en) | Device upgrade method, device, electronic device and storage medium | |
| US11762756B2 (en) | System and method for startup data verification |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190906 |
|
| RJ01 | Rejection of invention patent application after publication |