WO2016206514A1 - Startup processing method and device - Google Patents
Startup processing method and device Download PDFInfo
- Publication number
- WO2016206514A1 WO2016206514A1 PCT/CN2016/083334 CN2016083334W WO2016206514A1 WO 2016206514 A1 WO2016206514 A1 WO 2016206514A1 CN 2016083334 W CN2016083334 W CN 2016083334W WO 2016206514 A1 WO2016206514 A1 WO 2016206514A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- boot2
- boot
- boot1
- startup
- result
- 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.)
- Ceased
Links
Images
Classifications
-
- 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/445—Program loading or initiating
Definitions
- This application relates to, but is not limited to, the field of communication technology.
- the BOOT upgrade fails.
- the upgrade process is interrupted, and the upgraded BOOT itself has problems. Once this situation occurs, not only will the BOOT upgrade fail, but also the original BOOT data will be damaged.
- the BOOT cannot be upgraded online again.
- the BOOT cannot start the device normally. At this time, only the device board can be replaced or returned to the factory for maintenance. This not only increases the maintenance cost of the equipment, but also may cause other more serious problems. as a result of.
- This paper provides a startup processing method and device to solve the problem of the defect in the startup of BOOT in the related art.
- a startup processing method includes:
- the method before the performing the BOOT startup process on the startup of the BOOT2 by using the BOOT1, the method further includes:
- the result information is updated into the data area corresponding to the BOOT2.
- the data area corresponding to the BOOT2 is updated by the BOOT1, and the BOOT2 is marked as the BOOT2 loaded and the BOOT is executed. Start processing.
- performing the BOOT startup process on the startup of the BOOT2 by using the BOOT1, further includes:
- the BOOT2 When the result of the determination is that the BOOT2 that matches the BOOT2 in the result information exists on the USB storage device, the BOOT2 is acquired on the USB storage device, and the BOOT2 is loaded into the memory through the BOOT1. And verifying the integrity of the file data of the BOOT2;
- the BOOT2 corresponding data area is updated by the BOOT1, and the BOOT2 is marked as the BOOT2 loaded and the BOOT startup process is executed.
- the method further includes:
- a startup processing device comprising:
- the splitting module is configured to: split the boot program BOOT into one BOOT1 and multiple BOOT2 according to functions, wherein the BOOT1 corresponds to the multiple BOOT2, and is used to execute the BOOT2 Booting and guiding hardware initialization necessary for the BOOT2, the BOOT2 is used to perform all functions of the BOOT or functions other than the BOOT1 in the BOOT;
- the processing module is started to be configured to perform BOOT startup processing on the startup of the BOOT2 by the BOOT1.
- the device further includes:
- a reading module configured to: before the boot processing module performs a BOOT boot process on the booting of the BOOT2 by the BOOT1, read, by the BOOT1, result information of the BOOT2 from being previously started;
- the startup processing module includes:
- a verification unit configured to: acquire, on the USB storage device, when the determination result of the second determining unit is that the BOOT2 that matches the BOOT2 in the result information exists on the USB storage device BOOT2, loading the BOOT2 into the memory through the BOOT1, and verifying the integrity of the file data of the BOOT2;
- the startup processing module further includes:
- the third determining unit is configured to: determine whether the indication information for closing the counter is received within a predetermined time, wherein the indication information is that the BOOT2 starts after initializing all kernel boot operations Sent when the kernel is sent;
- the first determining unit is configured to: when the determination result of the third determining unit is that the indication information is received, determine that the current BOOT startup process is successful;
- FIG. 4 is a schematic structural diagram of still another startup processing device according to an embodiment of the present invention.
- FIG. 5 is a schematic structural diagram of still another startup processing apparatus according to an embodiment of the present disclosure.
- FIG. 7 is a schematic diagram of storing BOOT1 and BOOT2 on a FLASH in a startup process according to an embodiment of the present invention
- FIG. 8 is a flowchart of another startup processing method according to an embodiment of the present invention.
- the boot program BOOT is split into one BOOT1 and multiple BOOT2 according to functions, wherein the BOOT1 corresponds to multiple BOOT2s, and is used to perform BOOT2 booting and hardware initialization necessary for booting BOOT2, and the BOOT2 is used to execute BOOT. All functions or functions other than BOOT1 in BOOT;
- Step 102 Perform BOOT startup processing on the startup of the BOOT2 by the BOOT1.
- the method provided by the embodiment of the present invention may further include: reading, by using BOOT1, result information of the previous startup of the BOOT2; updating the result information to the BOOT2 corresponds to the data area.
- the BOOT2 corresponding data area is updated by the BOOT1
- the BOOT2 is marked as the BOOT2 loaded and the BOOT startup process is executed, and the BOOT2 on the USB device is started by the BOOT1 startup. Therefore, even if the BOOT2 in the related technology is completely damaged, it can be processed in the market application by replacing the BOOT2 file on the USB. It is convenient to start the device BOOT.
- FIG. 3 is a schematic structural diagram of another startup processing apparatus according to an embodiment of the present invention. As shown in FIG. 3, based on the structure of the apparatus shown in FIG. 2, the apparatus of this embodiment may further include:
- the startup processing unit 222 is configured to: the result of the determination in the first determination unit 221 is acquired When the BOOT2 matches BOOT2 in the result information, the BOOT2 corresponding data area is updated by the BOOT1, and the BOOT2 is marked as the BOOT2 loaded and the BOOT startup process is executed.
- FIG. 5 is a schematic structural diagram of another startup processing apparatus according to an embodiment of the present invention.
- the startup processing module 22 of the embodiment may further include:
- the verification unit 225 is configured to: when the determination result of the second determining unit 224 is that the BOOT2 that matches the BOOT2 in the result information exists on the USB storage device, acquire the BOOT2 on the USB storage device, and pass the BOOT1 Loading the BOOT2 into the memory, and verifying the integrity of the file data of the BOOT2;
- the marking unit 226 is configured to: when the verification unit 225 verifies that the file data of the BOOT2 is complete, update the data area corresponding to the BOOT2 through the BOOT1, mark the BOOT2 to be the BOOT2 loaded this time, and execute the BOOT startup process.
- the startup processing device may further include: a startup unit, configured to: when the marking unit 226 updates the data area corresponding to the BOOT2 by using the BOOT1, marking the BOOT2 to be the BOOT2 loaded at the same time The BOOT1 starts the counter; the third determining unit is configured to: determine whether the indication information for closing the counter is received within a predetermined time, wherein the indication information is an initialization operation of the BOOT2 before all kernel boots are successfully executed.
- the first determining unit is configured to: when the determination result of the third determining unit is that the indication information is received, determining that the BOOT startup processing is successful; and the second determining unit is configured to: When the judgment result of the third judgment unit is that the indication information is not received, it is determined that the BOOT start processing is abnormal.
- FIG. 6 is a schematic structural diagram of a hardware module of a digital communication device according to an embodiment of the present invention.
- the digital communication device provided in this embodiment includes A hardware logic device module 68 is connected to a central processing unit (CPU) chip subsystem 62 through a function bus, and can implement a hardware counter and a reset CPU function. When the CPU starts but does not turn off within a set time limit. When hardware counter of hardware logic module 68, this module resets the CPU and records the results.
- CPU central processing unit
- the data communication device includes at least one Universal Serial Bus (USB) interface module 64 connected to the CPU chip subsystem 62 through a function bus for accessing the CPU chip subsystem 62.
- USB Universal Serial Bus
- the data communication device provided in this embodiment may further include a FLASH chip 66 connected to the CPU chip subsystem 62 through a function bus, such as NOR FLASH or NAND FLASH.
- a FLASH chip 66 connected to the CPU chip subsystem 62 through a function bus, such as NOR FLASH or NAND FLASH.
- the BOOT startup in the related art is divided into two phases.
- the first phase mainly completes the code moving and provides the C language running environment for the subsequent code running.
- the second phase mainly initializes some hardware and drivers and boots the kernel loading.
- a BOOT1 Tractor
- two BOOT2 primary BOOT and standby BOOT
- the external logic device BOOT startup flag bit indication register is read. From this register, the result information of the previous BOOT startup is obtained, and the result information is updated to the data area corresponding to the previous startup BOOT2.
- Tractor will decide to start the main BOOT or the standby BOOT, and at the same time, Tractor A complex fast/slow flip register (10s/30s) of Complex Programmable Logic Device (CPLD) is also set to detect whether the BOOT boot is successful or not, and achieve a similar watchdog function.
- CPLD Complex Programmable Logic Device
- BOOT2 has started running. After that, BOOT2 will complete all the initialization work required for kernel boot, shut down the CPLD hardware count timer, pass parameters to the kernel and boot the kernel to start normally.
- the original BOOT is decomposed into two functions (two parts) according to functions: BOOT1 and BOOT2.
- BOOT1 is responsible for executing the boot and load functions of BOOT2;
- BOOT2 is responsible for performing all functions of the original data communication product BOOT or all hardware initialization of the original data communication device BOOT except the BOOT1 execution part and the boot load of related applications.
- BOOT1 will enter the serial command waiting mode and wait for the external command input; BOOT1 will also start the external hardware logic device module while loading BOOT2.
- the counter is turned off by BOOT2 when all hardware is initialized and the boot kernel is started. If BOOT2 does not turn off the counter within the set time limit, the external hardware logic module determines that BOOT2 fails to start and resets the CPU chip, and the device restarts; After the device is restarted, the above will be repeated Step until the selected BOOT2 can successfully load the kernel, device if all BOOT2 no kernel can successfully loaded, then enter the serial command waiting mode.
- the device is started by using BOOT1 and multiple BOOT2 versions.
- BOOT1 automatically switches to other BOOT2 to start the device, and when the data communication device is on the back storage device.
- BOOT1 can also use BOOT2 on the external USB storage device to start the device. Compared with related technologies, it improves the flexibility of device startup and improves the success rate of device startup.
- BOOT2 can also re-initialize the content that BOOT1 has initialized, that is, in actual development, testing, and application scenarios, BOOT1 is not It needs to be upgraded and maintained.
- BOOT1 because BOOT1 only needs to implement BOOT2 boot and load function, the volume will be much smaller than the BOOT in related technologies, which improves the success rate and security of device startup and upgrade.
- step 801 after the device is powered on, the device first jumps to BOOT1 for execution, and BOOT1 performs hardware initialization necessary for loading BOOT2, such as initializing memory, timer, serial port, button, and USB driver loading.
- Step 802 BOOT1 reads the result information of the previous BOOT2 startup from the external logic device, and updates the result information to the data area corresponding to BOOT2;
- step S804 it is found on the USB storage device whether there is a BOOT2 file matching the device.
- This search belongs to the file name based search, but is not limited to the file name based search. If the BOOT2 file matching the device is found on the external USB storage device, the process starts from step 805. If the BOOT2 file matching the device is not found on the external USB storage device, the process starts from step 806;
- Step 805 BOOT1 loads the BOOT2 on the USB storage device into the memory, and performs integrity check on the BOOT2 file data. If the BOOT2 data is corrupted, step 808 is performed, and no damage is performed, and step 810 is performed;
- Step S807 BOOT1 traverses all the data area information, determines whether there is BOOT2 that can be started normally, if yes, step 809 is performed, otherwise, step 808 is performed;
- BOOT1 waits for the input of the serial port command, and if so, executes the serial port command. If not, it continues to wait; the response to the serial port input command is not the focus of the embodiment of the present invention, and will not be described in detail herein.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
本申请涉及但不限于通信技术领域。This application relates to, but is not limited to, the field of communication technology.
数据通信产品通常采用嵌入式系统构架,通常需要使用引导程序(BOOT)来负责完成系统硬件的初始化以及相关应用程序的引导加载,因此,BOOT运行的稳定性和可靠性对于整个系统的启动至关重要。Data communication products usually use an embedded system architecture. Usually, a boot program (BOOT) is required to complete the initialization of the system hardware and the boot load of related applications. Therefore, the stability and reliability of the BOOT operation is critical to the startup of the entire system. important.
相关技术中的数据通信产品,在BOOT启动方式上通常存在如下的不足:The data communication products in the related art generally have the following disadvantages in the BOOT startup mode:
首先,相关技术中的数据通信产品,通常采用单一BOOT的方式来启动设备,并且,BOOT数据通常是存放在NOR FLASH、NAND FLASH等存储器件中的,这些器件无论是在生产和使用过程中都有可能产生坏块,并且,这些坏块的产生都是随机的,如果使用单一BOOT,一旦BOOT数据存储的区域产生了坏块,那么整个BOOT将无法正常启动,从而造成整个设备无法启动。同时,由于这些存储器件坏块的产生是随机的,那么,也就是说,对于BOOT而言,数据被损坏的概率与BOOT数据所占用的存储空间大小是成线性比例的,BOOT数据存储所占用的存储空间越大,BOOT数据被损坏的可能性也会越大。这对于相关技术中BOOT数据越来越大的数据通信产品而言,由此导致的BOOT启动失败的概率也会随之增加。First, the data communication products in the related art usually use a single BOOT method to start the device, and the BOOT data is usually stored in a storage device such as NOR FLASH, NAND FLASH, etc., both in production and use. It is possible to generate bad blocks, and the generation of these bad blocks is random. If a single BOOT is used, once the area of the BOOT data storage has a bad block, the entire BOOT will not start properly, and the entire device cannot be started. At the same time, since the generation of bad blocks of these storage devices is random, that is, for BOOT, the probability of data being corrupted is linearly proportional to the storage space occupied by the BOOT data, and is occupied by the BOOT data storage. The larger the storage space, the more likely the BOOT data will be damaged. For the data communication products in which BOOT data is getting larger and larger in the related art, the probability of BOOT startup failure is also increased.
另外,相关技术中的数据通信产品,在调试生产、测试及市场应用中,都会涉及到BOOT的数据更新问题,而相关技术中的BOOT数据更新,一般采用的是烧录器烧录或在线升级的方式,对于烧录器烧录的方式,一般都需要有特定的硬件设备和软件来支持,操作相对会比较复杂,这种方式只适用于在设备生产过程中对BOOT数据的第一次烧录,或者是在实验室的调试阶段中使用;相对于烧录器烧录,在线升级的方式实现起来相对简单,对于软硬件环境的依赖也较小,现在被广泛应用于数据通信产品的开发、测试和市场应用等场景;但在实际应用中,在线升级的方式也存在着风险,也会出现一 些情况导致BOOT升级失败,比如,升级的过程被中断、升级的BOOT本身就存在问题等,一旦遇到这种情况,不仅这次BOOT升级会失败,而且由于原有BOOT数据被损坏,还会造成BOOT无法再次在线升级,BOOT无法正常启动设备的情况出现,这时,就只能对设备单板进行更换或者返厂维修了,这不仅增加了设备维护成本,还有可能造成其它更加严重的后果。In addition, the data communication products in the related art, in the debugging production, testing and market applications, will involve the BOOT data update problem, and the BOOT data update in the related technology generally adopts the burner burning or online upgrade. The way to burn burners generally requires specific hardware devices and software to support them. The operation is relatively complicated. This method is only suitable for the first burning of BOOT data during the production process. Recorded, or used in the debugging phase of the laboratory; compared to the burner burning, the online upgrade method is relatively simple to implement, and has less dependence on the hardware and software environment, and is now widely used in the development of data communication products. Scenes such as testing, market application, etc. However, in practical applications, there are risks in the way of online upgrade, and one will also appear. In some cases, the BOOT upgrade fails. For example, the upgrade process is interrupted, and the upgraded BOOT itself has problems. Once this situation occurs, not only will the BOOT upgrade fail, but also the original BOOT data will be damaged. The BOOT cannot be upgraded online again. The BOOT cannot start the device normally. At this time, only the device board can be replaced or returned to the factory for maintenance. This not only increases the maintenance cost of the equipment, but also may cause other more serious problems. as a result of.
发明内容Summary of the invention
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。The following is an overview of the topics detailed in this document. This Summary is not intended to limit the scope of the claims.
针对相关技术中对BOOT的启动存在缺陷的问题,还未提出有效的解决方案。In view of the problem that the startup of BOOT in the related art is flawed, an effective solution has not been proposed.
本文提供了启动处理方法及装置,以解决相关技术中对BOOT的启动存在缺陷的问题。This paper provides a startup processing method and device to solve the problem of the defect in the startup of BOOT in the related art.
一种启动处理方法,包括:A startup processing method includes:
将引导程序BOOT按功能拆分为一个BOOT1和多个BOOT2,其中,所述BOOT1对应所述多个BOOT2,用于执行所述BOOT2的引导及引导所述BOOT2所必须的硬件初始化,所述BOOT2用于执行所述BOOT的所有功能或所述BOOT中除所述BOOT1以外的功能;The boot program BOOT is split into a BOOT1 and a plurality of BOOT2 according to functions, wherein the BOOT1 corresponds to the plurality of BOOT2s, and is used for performing booting of the BOOT2 and hardware initialization necessary for booting the BOOT2, the BOOT2 All functions for performing the BOOT or functions other than the BOOT1 in the BOOT;
通过所述BOOT1对所述BOOT2的启动执行BOOT启动处理。The BOOT startup process is performed by the BOOT1 on the startup of the BOOT2.
可选地,在所述通过所述BOOT1对所述BOOT2的启动执行BOOT启动处理之前,所述方法还包括:Optionally, before the performing the BOOT startup process on the startup of the BOOT2 by using the BOOT1, the method further includes:
通过所述BOOT1读取前一次启动所述BOOT2的结果信息;Reading, by the BOOT1, result information of the BOOT2 that was previously started;
将所述结果信息更新到所述BOOT2对应的数据区中。The result information is updated into the data area corresponding to the BOOT2.
可选地,所述通过所述BOOT1对所述BOOT2的启动执行BOOT启动处理,包括:Optionally, performing the BOOT startup process on the startup of the BOOT2 by using the BOOT1, including:
判断是否从存储器件FLASH的所有BOOT2中获取到与所述结果信息中的所述BOOT2相匹配的BOOT2; Determining whether BOOT2 matching the BOOT2 in the result information is obtained from all BOOT2s of the storage device FLASH;
在判断结果为获取到与所述结果信息中的所述BOOT2相匹配的BOOT2时,通过所述BOOT1更新所述BOOT2对应的数据区,标记所述BOOT2为本次加载的BOOT2并执行所述BOOT启动处理。When the result of the determination is that BOOT2 matching the BOOT2 in the result information is obtained, the data area corresponding to the BOOT2 is updated by the BOOT1, and the BOOT2 is marked as the BOOT2 loaded and the BOOT is executed. Start processing.
可选地,所述通过所述BOOT1对所述BOOT2的启动执行BOOT启动处理,还包括:Optionally, performing the BOOT startup process on the startup of the BOOT2 by using the BOOT1, further includes:
在判断结果为未获取到与所述结果信息中的所述BOOT2相匹配的BOOT2时,通过所述BOOT1检测是否有外部通用串行总线USB存储设备挂载;When the result of the determination is that the BOOT2 that matches the BOOT2 in the result information is not obtained, whether the external universal serial bus USB storage device is mounted is detected by the BOOT1;
在检测结果为有所述外部USB存储设备挂载时,判断所述USB存储设备上是否存在与所述结果信息中的所述BOOT2相匹配的BOOT2;When the detection result is that the external USB storage device is mounted, determining whether there is a BOOT2 matching the BOOT2 in the result information on the USB storage device;
在判断结果为所述USB存储设备上存在与所述结果信息中的所述BOOT2相匹配的BOOT2时,在所述USB存储设备上获取所述BOOT2,通过所述BOOT1将所述BOOT2加载到内存,并对所述BOOT2的文件数据的完整性进行校验;When the result of the determination is that the BOOT2 that matches the BOOT2 in the result information exists on the USB storage device, the BOOT2 is acquired on the USB storage device, and the BOOT2 is loaded into the memory through the BOOT1. And verifying the integrity of the file data of the BOOT2;
在所述BOOT2的文件数据为完整时,通过所述BOOT1更新所述BOOT2对应的数据区,标记所述BOOT2为本次加载的BOOT2并执行所述BOOT启动处理。When the file data of the BOOT2 is complete, the BOOT2 corresponding data area is updated by the BOOT1, and the BOOT2 is marked as the BOOT2 loaded and the BOOT startup process is executed.
可选地,所述方法还包括:Optionally, the method further includes:
在通过所述BOOT1更新所述BOOT2对应的数据区,标记所述BOOT2为本次加载的BOOT2的同时,通过所述BOOT1启动计数器;Updating the data area corresponding to the BOOT2 by using the BOOT1, marking the BOOT2 as the BOOT2 loaded for the current time, and starting the counter through the BOOT1;
判断在预定时间内是否接收到用于关闭所述计数器的指示信息,其中,所述指示信息是所述BOOT2在成功执行所有内核引导前的初始化工作后,在启动所述内核时发送的;Determining whether the indication information for closing the counter is received within a predetermined time, wherein the indication information is sent by the BOOT2 when the initialization is performed before all kernel booting is successfully performed, when the kernel is started;
在判断结果为接收到所述指示信息时,确定本次BOOT启动处理成功;When the result of the determination is that the indication information is received, it is determined that the BOOT startup process is successful;
在判断结果为未接收到所述指示信息时,确定本次BOOT启动处理异常。When the result of the determination is that the indication information is not received, it is determined that the BOOT startup processing is abnormal.
一种启动处理装置,包括:A startup processing device comprising:
拆分模块,设置为:将引导程序BOOT按功能拆分为一个BOOT1和多个BOOT2,其中,所述BOOT1对应所述多个BOOT2,用于执行所述BOOT2的 引导及引导所述BOOT2所必须的硬件初始化,所述BOOT2用于执行所述BOOT的所有功能或所述BOOT中除所述BOOT1以外的功能;The splitting module is configured to: split the boot program BOOT into one BOOT1 and multiple BOOT2 according to functions, wherein the BOOT1 corresponds to the multiple BOOT2, and is used to execute the BOOT2 Booting and guiding hardware initialization necessary for the BOOT2, the BOOT2 is used to perform all functions of the BOOT or functions other than the BOOT1 in the BOOT;
启动处理模块,设置为:通过所述BOOT1对所述BOOT2的启动执行BOOT启动处理。The processing module is started to be configured to perform BOOT startup processing on the startup of the BOOT2 by the BOOT1.
可选地,所述装置还包括:Optionally, the device further includes:
读取模块,设置为:在所述启动处理模块通过所述BOOT1对所述BOOT2的启动执行BOOT启动处理之前,通过所述BOOT1读取前一次启动所述BOOT2的结果信息;a reading module, configured to: before the boot processing module performs a BOOT boot process on the booting of the BOOT2 by the BOOT1, read, by the BOOT1, result information of the BOOT2 from being previously started;
更新模块,设置为:将所述读取模块读取的所述结果信息更新到所述BOOT2对应的数据区中。And an update module, configured to: update the result information read by the reading module to a data area corresponding to the BOOT2.
可选地,所述启动处理模块包括:Optionally, the startup processing module includes:
第一判断单元,设置为:判断是否从存储器件FLASH的所有BOOT2中获取到与所述结果信息中的所述BOOT2相匹配的BOOT2;The first determining unit is configured to: determine whether BOOT2 matching the BOOT2 in the result information is obtained from all BOOT2s of the storage device FLASH;
启动处理单元,设置为:在所述第一判断单元的判断结果为获取到与所述结果信息中的所述BOOT2相匹配的BOOT2时,通过所述BOOT1更新所述BOOT2对应的数据区,标记所述BOOT2为本次加载的BOOT2并执行所述BOOT启动处理。The startup processing unit is configured to: when the determination result of the first determining unit is that BOOT2 matching the BOOT2 in the result information is acquired, update the data area corresponding to the BOOT2 by using the BOOT1, and mark The BOOT2 is the BOOT2 loaded this time and performs the BOOT startup process.
可选地,所述启动处理模块还包括:Optionally, the startup processing module further includes:
检测单元,设置为:在所述第一判断单元的判断结果为未获取到与所述结果信息中的所述BOOT2相匹配的BOOT2时,通过所述BOOT1检测是否有外部通用串行总线USB存储设备挂载;The detecting unit is configured to: detect, by the BOOT1, whether there is an external universal serial bus USB storage when the determination result of the first determining unit is that the BOOT2 that matches the BOOT2 in the result information is not acquired. Mounting equipment;
第二判断单元,设置为:在所述检测单元的检测结果为有所述外部USB存储设备挂载时,判断所述USB存储设备上是否存在与所述结果信息中的所述BOOT2相匹配的BOOT2;a second determining unit, configured to: determine, when the detection result of the detecting unit is that the external USB storage device is mounted, whether the USB storage device has a match with the BOOT2 in the result information BOOT2;
校验单元,设置为:在所述第二判断单元的判断结果为所述USB存储设备上存在与所述结果信息中的所述BOOT2相匹配的BOOT2时,在所述USB存储设备上获取所述BOOT2,通过所述BOOT1将所述BOOT2加载到内存,并对所述BOOT2的文件数据的完整性进行校验; a verification unit, configured to: acquire, on the USB storage device, when the determination result of the second determining unit is that the BOOT2 that matches the BOOT2 in the result information exists on the USB storage device BOOT2, loading the BOOT2 into the memory through the BOOT1, and verifying the integrity of the file data of the BOOT2;
标记单元,设置为:在所述校验单元校验出所述BOOT2的文件数据为完整时,通过所述BOOT1更新所述BOOT2对应的数据区,标记所述BOOT2为本次加载的BOOT2并执行所述BOOT启动处理。The marking unit is configured to: when the verification unit verifies that the file data of the BOOT2 is complete, update the data area corresponding to the BOOT2 by using the BOOT1, mark the BOOT2 to be the BOOT2 loaded and execute The BOOT initiates processing.
可选地,所述启动处理模块还包括:Optionally, the startup processing module further includes:
启动单元,设置为:在所述标记单元通过所述BOOT1更新所述BOOT2对应的数据区,标记所述BOOT2为此次加载的BOOT2的同时,通过所述BOOT1启动计数器;a booting unit, configured to: when the marking unit updates the data area corresponding to the BOOT2 through the BOOT1, mark the BOOT2 as the BOOT2 loaded this time, and start the counter through the BOOT1;
第三判断单元,设置为:判断在预定时间内是否接收到用于关闭所述计数器的指示信息,其中,所述指示信息是所述BOOT2在成功执行所有内核引导前的初始化工作后,在启动所述内核时发送的;The third determining unit is configured to: determine whether the indication information for closing the counter is received within a predetermined time, wherein the indication information is that the BOOT2 starts after initializing all kernel boot operations Sent when the kernel is sent;
第一确定单元,设置为:在所述第三判断单元的判断结果为接收到所述指示信息时,确定本次BOOT启动处理成功;The first determining unit is configured to: when the determination result of the third determining unit is that the indication information is received, determine that the current BOOT startup process is successful;
第二确定单元,设置为:在所述第三判断单元的判断结果为未接收到所述指示信息时,确定本次BOOT启动处理异常。The second determining unit is configured to: when the determination result of the third determining unit is that the indication information is not received, determine that the current BOOT startup processing is abnormal.
本发明实施例提供的启动处理方法及装置,通过将BOOT按功能拆分为一个BOOT1和多个BOOT2,其中,该BOOT1对应多个BOOT2,用于执行BOOT2的引导及引导BOOT2所必须的硬件初始化,该BOOT2用于执行BOOT的所有功能或该BOOT中除述BOOT1以外的功能,并通过BOOT1对BOOT2的启动执行BOOT启动处理,解决了相关技术中对BOOT的启动存在缺陷的问题,提高了设备启动和升级的成功率和安全性。The startup processing method and device provided by the embodiment of the present invention divide the BOOT into one BOOT1 and multiple BOOT2 according to functions, wherein the BOOT1 corresponds to multiple BOOT2s, and is used for performing BOOT2 booting and hardware initialization necessary for booting BOOT2. The BOOT2 is used to perform all the functions of the BOOT or the functions other than the BOOT1 in the BOOT, and performs BOOT startup processing on the BOOT2 startup by the BOOT1, thereby solving the problem that the startup of the BOOT is defective in the related art, and the device is improved. The success rate and security of startup and upgrade.
在阅读并理解了附图和详细描述后,可以明白其他方面。Other aspects will be apparent upon reading and understanding the drawings and detailed description.
附图概述BRIEF abstract
图1为本发明实施例提供的一种启动处理方法的流程图;FIG. 1 is a flowchart of a startup processing method according to an embodiment of the present invention;
图2为本发明实施例提供的一种启动处理装置的结构示意图;2 is a schematic structural diagram of a startup processing apparatus according to an embodiment of the present invention;
图3为本发明实施例提供的另一种启动处理装置的结构示意图;FIG. 3 is a schematic structural diagram of another startup processing apparatus according to an embodiment of the present disclosure;
图4为本发明实施例提供的又一种启动处理装置的结构示意图; 4 is a schematic structural diagram of still another startup processing device according to an embodiment of the present invention;
图5为本发明实施例提供的再一种启动处理装置的结构示意图;FIG. 5 is a schematic structural diagram of still another startup processing apparatus according to an embodiment of the present disclosure;
图6为本发明实施例提供的一种数字通信设备的硬件模块的结构示意图;FIG. 6 is a schematic structural diagram of a hardware module of a digital communication device according to an embodiment of the present disclosure;
图7为本发明实施例提供的启动处理中一种BOOT1和BOOT2在FLASH上存储的示意图;FIG. 7 is a schematic diagram of storing BOOT1 and BOOT2 on a FLASH in a startup process according to an embodiment of the present invention;
图8为本发明实施例提供的另一种启动处理方法的流程图;FIG. 8 is a flowchart of another startup processing method according to an embodiment of the present invention;
图9为本发明实施例提供的启动处理方法中一种HMPU双BOOT启动流程示意图。FIG. 9 is a schematic diagram of a HMPU dual BOOT startup process in a startup processing method according to an embodiment of the present invention.
下文中将结合附图对本发明的实施方式进行详细说明。需要说明的是,在不冲突的情况下,本文中的实施例及实施例中的特征可以相互任意组合。Embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be noted that, in the case of no conflict, the features in the embodiments and the embodiments herein may be arbitrarily combined with each other.
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。The steps illustrated in the flowchart of the figures may be executed in a computer system such as a set of computer executable instructions. Also, although logical sequences are shown in the flowcharts, in some cases the steps shown or described may be performed in a different order than the ones described herein.
在本实施例中提供了一种启动处理方法,图1为本发明实施例提供的一种启动处理方法的流程图,如图1所示,本实施例提供的方法包括如下步骤,即步骤101~步骤102:In this embodiment, a startup processing method is provided. FIG. 1 is a flowchart of a startup processing method according to an embodiment of the present invention. As shown in FIG. 1 , the method provided in this embodiment includes the following steps, namely, step 101. ~ Step 102:
步骤101,将引导程序BOOT按功能拆分为一个BOOT1和多个BOOT2,其中,该BOOT1对应多个BOOT2,用于执行BOOT2的引导及引导BOOT2所必须的硬件初始化,该BOOT2用于执行BOOT的所有功能或BOOT中除BOOT1以外的功能;In step 101, the boot program BOOT is split into one BOOT1 and multiple BOOT2 according to functions, wherein the BOOT1 corresponds to multiple BOOT2s, and is used to perform BOOT2 booting and hardware initialization necessary for booting BOOT2, and the BOOT2 is used to execute BOOT. All functions or functions other than BOOT1 in BOOT;
步骤102,通过该BOOT1对该BOOT2的启动执行BOOT启动处理。Step 102: Perform BOOT startup processing on the startup of the BOOT2 by the BOOT1.
相关技术中的BOOT的所有功能都是由一个BOOT(可执行文件)来实现的,通过上述步骤,将BOOT分成了一个BOOT1和多个BOOT2,分别实现不同功能,由于BOOT1实现的功能比较简单,所以体积比较小,不容易损坏,同时,可以有多个BOOT2,从而在BOOT1不损坏的情况下,即使有个别BOOT2出现损坏,设备还是可以从其他BOOT2正常启动,一个设备上有一个BOOT1,但可以有多个BOOT2文件,多个BOOT2文件可以是相同版本也可以是不同版 本,多个BOOT2文件可以由多个BOOT拆分而来。BOOT的拆分是在代码编译阶段完成的,也可以理解为一套代码编译生成了BOOT1,另一套代码编译生成了BOOT2,设备的BOOT启动由生成的BOOT1和BOOT2共同完成。All the functions of the BOOT in the related art are implemented by a BOOT (executable file). Through the above steps, the BOOT is divided into a BOOT1 and a plurality of BOOT2 to implement different functions respectively, and the function implemented by the BOOT1 is relatively simple. Therefore, the volume is relatively small, and it is not easy to be damaged. At the same time, there may be multiple BOOT2s, so that if BOOT1 is not damaged, even if there is damage to individual BOOT2, the device can start normally from other BOOT2, and one device has a BOOT1, but There can be multiple BOOT2 files, multiple BOOT2 files can be the same version or different versions. In this case, multiple BOOT2 files can be split by multiple BOOTs. BOOT splitting is done in the code compilation phase. It can also be understood as a set of code compiled to generate BOOT1, another set of code compiled to generate BOOT2, the BOOT boot of the device is completed by the generated BOOT1 and BOOT2.
本实施例提供的启动处理方法,将BOOT按功能拆分为一个BOOT1和多个BOOT2,其中,该BOOT1对应该多个BOOT2,用于执行BOOT2的引导及引导该BOOT2所执行的硬件初始化,该BOOT2用于执行BOOT的所有功能或BOOT中除BOOT1以外的功能;通过该BOOT1对该BOOT2的启动执行BOOT启动处理,解决了相关技术中对BOOT的启动存在缺陷的问题,提高了设备启动和升级的成功率和安全性。The boot processing method provided in this embodiment splits the BOOT into one BOOT1 and multiple BOOT2 according to functions, wherein the BOOT1 corresponds to multiple BOOT2s, and is used for performing BOOT2 booting and guiding hardware initialization performed by the BOOT2, BOOT2 is used to perform all functions of BOOT or functions other than BOOT1 in BOOT. BOOT1 performs BOOT startup processing on the startup of BOOT2, which solves the problem that the startup of BOOT is defective in related technologies, and improves device startup and upgrade. Success rate and safety.
可选地,在通过该BOOT1对该BOOT2的启动执行BOOT启动处理之前,本发明实施例提供的方法还可以包括:通过BOOT1读取前一次启动该BOOT2的结果信息;将该结果信息更新到该BOOT2对应的数据区中。Optionally, before the BOOT startup process is performed on the startup of the BOOT2 by using the BOOT1, the method provided by the embodiment of the present invention may further include: reading, by using BOOT1, result information of the previous startup of the BOOT2; updating the result information to the BOOT2 corresponds to the data area.
在本发明实施例中,通过该BOOT1对该BOOT2的启动执行BOOT启动处理的方式不止一种,可选地,在本发明的一个实施例中,可以通过判断是否从存储器件FLASH的所有BOOT2中获取到与该结果信息中的该BOOT2相匹配的BOOT2;在判断结果为获取到与该结果信息中的该BOOT2相匹配的BOOT2时,通过该BOOT1更新该BOOT2对应的数据区,标记该BOOT2为本次加载的BOOT2并执行BOOT启动处理。In the embodiment of the present invention, the BOOT1 performs BOOT startup processing on the startup of the BOOT2 by more than one type. Alternatively, in an embodiment of the present invention, it may be determined whether all the BOOT2 from the storage device FLASH is used. Obtaining BOOT2 that matches the BOOT2 in the result information; when the result of the determination is that BOOT2 matching the BOOT2 in the result information is obtained, the data area corresponding to the BOOT2 is updated by the BOOT1, and the BOOT2 is marked as This time, BOOT2 is loaded and BOOT startup processing is executed.
可选地,在本发明的另一个实施例中,可以通过在判断结果为未获取到与该结果信息中的该BOOT2相匹配的BOOT2时,通过该BOOT1检测是否有外部通用串行总线(Universal Serial Bus,简称为:USB)存储设备挂载;在检测结果为有该外部USB存储设备挂载时,判断该USB存储设备上是否存在与该结果信息中的该BOOT2相匹配的BOOT2;在判断结果为该USB存储设备上存在与该结果信息中的BOOT2相匹配的BOOT2时,在该USB存储设备上获取该BOOT2,通过该BOOT1将该BOOT2加载到内存,并对该BOOT2的文件数据的完整性进行校验;在该BOOT2的文件数据为完整时,通过该BOOT1更新该BOOT2对应的数据区,标记该BOOT2为本次加载的BOOT2并执行BOOT启动处理,通过BOOT1启动加载USB设备上的BOOT2,从而即使相关技术中的BOOT2全部损坏了,也可以通过更换USB上的BOOT2文件使市场应用中处理 设备BOOT启动故障便利很多。Optionally, in another embodiment of the present invention, whether the external universal serial bus (Universal) is detected by the BOOT1 may be detected by the BOOT1 when the result of the determination is that the BOOT2 that matches the BOOT2 in the result information is not acquired. Serial Bus (referred to as: USB) storage device is mounted; when the detection result is that the external USB storage device is mounted, it is determined whether there is BOOT2 matching the BOOT2 in the result information on the USB storage device; The result is that when the BOOT2 matching the BOOT2 in the result information exists on the USB storage device, the BOOT2 is acquired on the USB storage device, the BOOT2 is loaded into the memory through the BOOT1, and the file data of the BOOT2 is complete. If the file data of the BOOT2 is complete, the BOOT2 corresponding data area is updated by the BOOT1, the BOOT2 is marked as the BOOT2 loaded and the BOOT startup process is executed, and the BOOT2 on the USB device is started by the BOOT1 startup. Therefore, even if the BOOT2 in the related technology is completely damaged, it can be processed in the market application by replacing the BOOT2 file on the USB. It is convenient to start the device BOOT.
可选地,在本发明的一个实施例中,启动处理方法还包括:在通过该BOOT1更新该BOOT2对应的数据区,标记该BOOT2为本次加载的BOOT2的同时,通过该BOOT1启动计数器;判断在预定时间内是否接收到用于关闭该计数器的指示信息,其中,该指示信息是该BOOT2在成功执行所有内核引导前的初始化工作后,在启动内核时发送的;在判断结果为接收到指示信息时,确定本次BOOT启动处理成功;在判断结果为未接收到指示信息时,确定本次BOOT启动处理异常。Optionally, in an embodiment of the present invention, the method for starting the processing further includes: updating the data area corresponding to the BOOT2 by using the BOOT1, marking the BOOT2 as the BOOT2 loaded for the BOOT2, and starting the counter through the BOOT1; Whether the indication information for closing the counter is received within a predetermined time, wherein the indication information is sent when the BOOT2 initializes the kernel before the initialization of all the kernel boots, and when the kernel is started; When the information is determined, it is determined that the BOOT startup processing is successful; when the judgment result is that the indication information is not received, it is determined that the BOOT startup processing is abnormal.
本发明实施例还提供了一种启动处理装置,图2为本发明实施例提供的一种启动处理装置的结构示意图,如图2所示,该启动处理装置包括:The embodiment of the present invention further provides a startup processing device. FIG. 2 is a schematic structural diagram of a startup processing device according to an embodiment of the present invention. As shown in FIG. 2, the startup processing device includes:
拆分模块21,设置为:将BOOT按功能拆分为一个BOOT1和多个BOOT2,其中,该BOOT1对应该多个BOOT2,用于执行BOOT2的引导及引导BOOT2所必须的硬件初始化,该BOOT2用于执行BOOT所有的功能或BOOT中除BOOT1以外的功能;The splitting module 21 is configured to split the BOOT into one BOOT1 and multiple BOOT2 according to functions, wherein the BOOT1 corresponds to multiple BOOT2s, and is used for performing BOOT2 booting and hardware initialization necessary for booting BOOT2, and the BOOT2 is used for the BOOT2. Perform all functions of BOOT or functions other than BOOT1 in BOOT;
启动处理模块22,设置为:通过该BOOT1对该BOOT2的启动执行BOOT启动处理。The startup processing module 22 is configured to perform BOOT startup processing on the startup of the BOOT 2 by the BOOT1.
可选地,图3为本发明实施例提供的另一种启动处理装置的结构示意图。如图3所示,在上述图2所示装置的结构基础上,本实施例的装置还可以包括:Optionally, FIG. 3 is a schematic structural diagram of another startup processing apparatus according to an embodiment of the present invention. As shown in FIG. 3, based on the structure of the apparatus shown in FIG. 2, the apparatus of this embodiment may further include:
读取模块23,设置为:在启动处理模块22通过BOOT1对BOOT2的启动执行BOOT启动处理之前,通过BOOT1读取前一次启动该BOOT2的结果信息;The reading module 23 is configured to: before the boot processing module 22 performs the BOOT boot process on the boot of the BOOT2 by the BOOT1, read the result information of the previous boot of the BOOT2 through the BOOT1;
更新模块24,设置为:将读取模块23读取的结果信息更新到该BOOT2对应的数据区中。The update module 24 is configured to: update the result information read by the reading module 23 into the data area corresponding to the BOOT2.
可选地,图4为本发明实施例提供的又一种启动处理装置的结构示意图。如图4所示,在上述图3所示装置的结构基础上,本实施例的启动处理模块22可以包括:Optionally, FIG. 4 is a schematic structural diagram of another startup processing apparatus according to an embodiment of the present invention. As shown in FIG. 4, based on the structure of the apparatus shown in FIG. 3, the startup processing module 22 of this embodiment may include:
第一判断单元221,设置为:判断是否从存储器件FLASH的所有BOOT2中获取到与该结果信息中的该BOOT2相匹配的BOOT2;The first determining unit 221 is configured to: determine whether BOOT2 matching the BOOT2 in the result information is obtained from all BOOT2s of the storage device FLASH;
启动处理单元222,设置为:在第一判断单元221的判断结果为获取到与 结果信息中的BOOT2相匹配的BOOT2时,通过该BOOT1更新该BOOT2对应的数据区,标记该BOOT2为本次加载的BOOT2并执行BOOT启动处理。The startup processing unit 222 is configured to: the result of the determination in the first determination unit 221 is acquired When the BOOT2 matches BOOT2 in the result information, the BOOT2 corresponding data area is updated by the BOOT1, and the BOOT2 is marked as the BOOT2 loaded and the BOOT startup process is executed.
可选地,图5为本发明实施例提供的再一种启动处理装置的结构示意图。如图5所示,在上述图4所示装置的结构基础上,本实施例的启动处理模块22还可以包括:Optionally, FIG. 5 is a schematic structural diagram of another startup processing apparatus according to an embodiment of the present invention. As shown in FIG. 5, based on the structure of the apparatus shown in FIG. 4, the startup processing module 22 of the embodiment may further include:
检测单元223,设置为:在第一判断单元221判断结果为未获取到与结果信息中的BOOT2相匹配的BOOT2时,通过该BOOT1检测是否有外部USB存储设备挂载;The detecting unit 223 is configured to: when the first determining unit 221 determines that the BOOT2 that matches the BOOT2 in the result information is not obtained, whether the external USB storage device is mounted by the BOOT1 is detected;
第二判断单元224,设置为:在检测单元223的检测结果为有外部USB存储设备挂载时,判断该USB存储设备上是否存在与该结果信息中的该BOOT2相匹配的BOOT2;The second determining unit 224 is configured to: when the detection result of the detecting unit 223 is that the external USB storage device is mounted, determine whether there is a BOOT2 matching the BOOT2 in the result information on the USB storage device;
校验单元225,设置为:在第二判断单元224的判断结果为USB存储设备上存在与该结果信息中的该BOOT2相匹配的BOOT2时,在该USB存储设备上获取该BOOT2,通过该BOOT1将该BOOT2加载到内存,并对该BOOT2的文件数据的完整性进行校验;The verification unit 225 is configured to: when the determination result of the second determining unit 224 is that the BOOT2 that matches the BOOT2 in the result information exists on the USB storage device, acquire the BOOT2 on the USB storage device, and pass the BOOT1 Loading the BOOT2 into the memory, and verifying the integrity of the file data of the BOOT2;
标记单元226,设置为:在校验单元225校验出该BOOT2的文件数据为完整时,通过该BOOT1更新该BOOT2对应的数据区,标记该BOOT2为本次加载的BOOT2并执行BOOT启动处理。The marking unit 226 is configured to: when the verification unit 225 verifies that the file data of the BOOT2 is complete, update the data area corresponding to the BOOT2 through the BOOT1, mark the BOOT2 to be the BOOT2 loaded this time, and execute the BOOT startup process.
可选地,本发明实施例提供的启动处理装置,还可以包括:启动单元,设置为:在标记单元226通过该BOOT1更新该BOOT2对应的数据区,标记该BOOT2为本次加载的BOOT2的同时,通过该BOOT1启动计数器;第三判断单元,设置为:判断在预定时间内是否接收到用于关闭该计数器的指示信息,其中,该指示信息是该BOOT2在成功执行所有内核引导前的初始化工作后,在启动内核时发送的;第一确定单元,设置为:在第三判断单元的判断结果为接收到指示信息时,确定本次BOOT启动处理成功;第二确定单元,设置为:在第三判断单元的判断结果为未接收到指示信息时,确定本次BOOT启动处理异常。Optionally, the startup processing device provided by the embodiment of the present invention may further include: a startup unit, configured to: when the marking unit 226 updates the data area corresponding to the BOOT2 by using the BOOT1, marking the BOOT2 to be the BOOT2 loaded at the same time The BOOT1 starts the counter; the third determining unit is configured to: determine whether the indication information for closing the counter is received within a predetermined time, wherein the indication information is an initialization operation of the BOOT2 before all kernel boots are successfully executed. After the kernel is started, the first determining unit is configured to: when the determination result of the third determining unit is that the indication information is received, determining that the BOOT startup processing is successful; and the second determining unit is configured to: When the judgment result of the third judgment unit is that the indication information is not received, it is determined that the BOOT start processing is abnormal.
针对相关技术中存在的上述问题,下面结合可选实施例进行说明,下述 可选实施例结合了上述实施例、可选实施例及其可选实施方式。For the above problems existing in the related art, the following description will be made in conjunction with the optional embodiments, the following Alternative embodiments incorporate the above-described embodiments, alternative embodiments, and alternative embodiments thereof.
图6为本发明实施例提供的一种数字通信设备的硬件模块的结构示意图,如图6所示,在相关技术中的数据通信产品的基础上,本实施例提供的数字通信设备中包含有一个硬件逻辑器件模块68,通过功能总线和中央处理器(Central Processing Unit,简称为CPU)芯片子系统62相连,可以实现硬件计数器和复位CPU的功能,当CPU启动但没有在设定时限内关闭硬件逻辑器件模块68的硬件计数器时,此模块会复位CPU,并记录结果。FIG. 6 is a schematic structural diagram of a hardware module of a digital communication device according to an embodiment of the present invention. As shown in FIG. 6 , on the basis of the data communication product in the related art, the digital communication device provided in this embodiment includes A hardware logic device module 68 is connected to a central processing unit (CPU) chip subsystem 62 through a function bus, and can implement a hardware counter and a reset CPU function. When the CPU starts but does not turn off within a set time limit. When hardware counter of hardware logic module 68, this module resets the CPU and records the results.
本实施例提供的数据通信设备中,至少包含有一个通用串行总线(Universal Serial Bus,简称为USB)接口模块64,通过功能总线和CPU芯片子系统62相连,用于CPU芯片子系统62访问外部USB存储器件。The data communication device provided in this embodiment includes at least one Universal Serial Bus (USB) interface module 64 connected to the CPU chip subsystem 62 through a function bus for accessing the CPU chip subsystem 62. External USB storage device.
本实施例提供的数据通信设备中,还可以包含有一个FLASH芯片66,通过功能总线和CPU芯片子系统62相连,该FLASH芯片66例如为NOR FLASH或NAND FLASH。The data communication device provided in this embodiment may further include a FLASH chip 66 connected to the CPU chip subsystem 62 through a function bus, such as NOR FLASH or NAND FLASH.
相关技术中的BOOT启动分为两个阶段,第一个阶段主要完成代码的搬移和为后续代码运行提供C语言运行环境的工作,第二阶段主要是初始化一些硬件及驱动并引导内核的加载。The BOOT startup in the related art is divided into two phases. The first phase mainly completes the code moving and provides the C language running environment for the subsequent code running. The second phase mainly initializes some hardware and drivers and boots the kernel loading.
本实施例以一个BOOT1(Tractor)、两个BOOT2(主BOOT、备BOOT)为例予以说明,在整个BOOT启动流程中,Tractor在完成启动后,会读取外部逻辑器件BOOT启动标记位指示寄存器,从该寄存器中获取前一次BOOT启动的结果信息,并将此结果信息更新到前一次启动BOOT2对应的数据区,根据所有BOOT2数据区信息,Tractor会决定启动主BOOT或者备BOOT,同时,Tractor还会设置复杂可编程逻辑器件(Complex Programmable Logic Device,简称为:CPLD)的逻辑快/慢翻转寄存器(10s/30s)来检测BOOT启动是否启动成功,实现类似看门狗的作用。In this embodiment, a BOOT1 (Tractor) and two BOOT2 (primary BOOT and standby BOOT) are taken as an example. In the whole BOOT startup process, after the TROactor completes the startup, the external logic device BOOT startup flag bit indication register is read. From this register, the result information of the previous BOOT startup is obtained, and the result information is updated to the data area corresponding to the previous startup BOOT2. According to all BOOT2 data area information, Tractor will decide to start the main BOOT or the standby BOOT, and at the same time, Tractor A complex fast/slow flip register (10s/30s) of Complex Programmable Logic Device (CPLD) is also set to detect whether the BOOT boot is successful or not, and achieve a similar watchdog function.
至此,BOOT2已经开始运行,之后,BOOT2会完成内核启动所需要的所有初始化工作,关闭CPLD的硬件计数计时器,为内核传递参数并引导内核正常启动。At this point, BOOT2 has started running. After that, BOOT2 will complete all the initialization work required for kernel boot, shut down the CPLD hardware count timer, pass parameters to the kernel and boot the kernel to start normally.
相关技术中的Boot启动的两个阶段: The two stages of Boot startup in the related art:
阶段1(Stage 1)实现以下功能:Stage 1 (Stage 1) implements the following functions:
(1)初始化相关硬件;(1) Initialize the relevant hardware;
(2)设置异常向量(Exception Vector);(2) set the exception vector (Exception Vector);
(3)关闭内存管理单元(Memory Management Unit,简称为:MMU)、高速缓冲存储器(CACHE)、随机存取存储器(Ramdom Access Memory,简称为:RAM)控制器;(3) Turn off the Memory Management Unit (MMU), the cache memory (CACHE), and the Random Access Memory (RAM) controller;
(4)初始化时钟,波特率及串口设备;(4) Initialize the clock, baud rate and serial device;
(5)重新加载代码(reload code);(5) Reload code (reload code);
(6)初始化堆栈;(6) Initializing the stack;
(7)清0BSS(Block Started by Symbol)段;(7) Clear BBS (Block Started by Symbol) section;
(8)执行stage2。(8) Execute stage2.
阶段2(Stage 2)实现以下功能:Stage 2 (Stage 2) implements the following functions:
(1)初始化本阶段要使用到的硬件设备;(1) Initialize the hardware devices to be used at this stage;
(2)包括终端设备初始化,两线式串行总线(Inter-Integrated Circuit,简称为:I2C),loacoal总线(BUS),各种总线,网口等设备及相关驱动的初始化等;(2) Including terminal device initialization, two-wire serial bus (Inter-Integrated Circuit, I2C for short), loacoal bus (BUS), various buses, network ports and other devices and related driver initialization;
(3)从USB/文件传输协议(File Transfer Protocol,简称为:FTP)服务器(Server)或者Flash获取kernl文件加载到内存;(3) loading the kernl file from the USB/File Transfer Protocol (FTP) server (Server) or Flash into the memory;
(4)解析kernl文件;(4) parsing the kernl file;
(5)为内核设置启动参数;(5) set the startup parameters for the kernel;
(6)启动内核。(6) Start the kernel.
本发明实施例是在上述原有数据通信设备BOOT基础上,将原有BOOT按功能分解为BOOT1和BOOT2两种(两个部分)。BOOT1负责执行BOOT2的引导及加载功能;BOOT2负责执行原数据通信产品BOOT的所有功能或者原数据通信设备BOOT中除BOOT1执行部分以外的所有硬件初始化和相关应用程序的引导加载工作。In the embodiment of the present invention, on the basis of the above-mentioned original data communication device BOOT, the original BOOT is decomposed into two functions (two parts) according to functions: BOOT1 and BOOT2. BOOT1 is responsible for executing the boot and load functions of BOOT2; BOOT2 is responsible for performing all functions of the original data communication product BOOT or all hardware initialization of the original data communication device BOOT except the BOOT1 execution part and the boot load of related applications.
图7为本发明实施例提供的启动处理中一种BOOT1和BOOT2在FLASH上 存储的示意图,如图7所示,在同一数据通信设备上,可以存在多个BOOT2,每个BOOT2可以和BOOT1存储在相同存储器件FLASH上,也可以存储在不同存储器件上,比如存储在外部USB存储器件上;存储在数据通信设备上的每个BOOT2,都会有一个与之一一对应的数据区,每个数据区都包含有对应BOOT2的版本信息、启动结果信息等,为减小数据区数据被损坏的概率,本实施例是将这些数据区放在对应的BOOT2数据前。FIG. 7 is a BOOT1 and BOOT2 in FLASH in a startup process according to an embodiment of the present invention; Schematic diagram of storage, as shown in FIG. 7, on the same data communication device, there may be multiple BOOT2, each BOOT2 may be stored on the same storage device FLASH as BOOT1, or may be stored on different storage devices, such as external storage. On the USB storage device, each BOOT2 stored on the data communication device has a data area corresponding to one of the data areas, and each data area includes version information corresponding to BOOT2, startup result information, etc., in order to reduce data. The probability that the area data is corrupted, in this embodiment, the data areas are placed before the corresponding BOOT2 data.
数据通信设备上电后,会先加载运行BOOT1,BOOT1完成加载BOOT2所必须的硬件初始化工作后,会从外部硬件逻辑器件中读取前一次BOOT2启动的结果,并更新到BOOT2对应的数据区;BOOT1完成数据区数据更新后,会检测是否有外部挂载USB存储器件中有BOOT2文件存在,如果存在,则无条件加载USB上的BOOT2,如果不存在,则从设备内部存储器件中选取一个可以成功加载并且版本最新的BOOT2进行加载,如果内部存储器件中不存在可以成功加载的BOOT2,BOOT1会进入串口命令等待模式,等待外部命令输入;BOOT1在加载BOOT2的同时,还会启动外部硬件逻辑器件模块的计数器,此计数器由BOOT2完成所有硬件初始化、启动引导内核之时关闭,如果BOOT2在设定时限内没有关闭计数器,则外部硬件逻辑器件模块会判定BOOT2启动失败并复位CPU芯片,设备重新启动;设备重启后,会重复上述步骤,直到选取的BOOT2可以成功加载内核,如果设备所有BOOT2都没能成功加载内核,则进入串口命令等待模式。After the data communication device is powered on, it will first load and run BOOT1. After BOOT1 completes the hardware initialization work necessary to load BOOT2, it will read the result of the previous BOOT2 startup from the external hardware logic device and update to the data area corresponding to BOOT2. After BOOT1 completes the update of the data area data, it will detect whether there is a BOOT2 file in the externally mounted USB storage device. If it exists, the BOOT2 on the USB is unconditionally loaded. If it does not exist, one of the internal storage devices of the device can be successfully selected. The loaded and latest version of BOOT2 is loaded. If there is no BOOT2 that can be successfully loaded in the internal storage device, BOOT1 will enter the serial command waiting mode and wait for the external command input; BOOT1 will also start the external hardware logic device module while loading BOOT2. The counter is turned off by BOOT2 when all hardware is initialized and the boot kernel is started. If BOOT2 does not turn off the counter within the set time limit, the external hardware logic module determines that BOOT2 fails to start and resets the CPU chip, and the device restarts; After the device is restarted, the above will be repeated Step until the selected BOOT2 can successfully load the kernel, device if all BOOT2 no kernel can successfully loaded, then enter the serial command waiting mode.
本发明实施例采用BOOT1和多个BOOT2版本启动设备的方式,在单个BOOT2损坏或者升级失败的情况下,BOOT1会自动切换到其它的BOOT2来启动设备,而且,当数据通讯设备背部存储器件上的所有BOOT2都无法正常启动设备的时候,BOOT1还可以用外部USB存储器件上的BOOT2来启动设备,与相关技术相比,提高了设备启动的灵活性,也提高了设备启动的成功率。In the embodiment of the present invention, the device is started by using BOOT1 and multiple BOOT2 versions. In the case that a single BOOT2 is damaged or the upgrade fails, BOOT1 automatically switches to other BOOT2 to start the device, and when the data communication device is on the back storage device. When all BOOT2 cannot start the device normally, BOOT1 can also use BOOT2 on the external USB storage device to start the device. Compared with related technologies, it improves the flexibility of device startup and improves the success rate of device startup.
另外,在本发明实施例中,当BOOT1完成BOOT2的引导和加载后,BOOT2还可以对BOOT1已经初始化过的内容重新进行初始化,也就是说,在实际开发、测试和应用场景中,BOOT1是不需要进行升级维护的;同时,由于BOOT1只需要实现BOOT2的引导和加载功能,体积会比相关技术中的BOOT小很多,这些,都提高了设备启动和升级的成功率和安全性。 In addition, in the embodiment of the present invention, after BOOT1 completes the booting and loading of BOOT2, BOOT2 can also re-initialize the content that BOOT1 has initialized, that is, in actual development, testing, and application scenarios, BOOT1 is not It needs to be upgraded and maintained. At the same time, because BOOT1 only needs to implement BOOT2 boot and load function, the volume will be much smaller than the BOOT in related technologies, which improves the success rate and security of device startup and upgrade.
图8为本发明实施例的提供的另一种启动处理方法的流程图,如图8所示,数据通信设备的多BOOT启动方法可以包括步骤801~步骤813:FIG. 8 is a flowchart of another startup processing method according to an embodiment of the present invention. As shown in FIG. 8, the multi-BOOT startup method of the data communication device may include steps 801 to 813:
步骤801,设备上电后,设备会先跳转到BOOT1执行,BOOT1执行加载BOOT2所必须的硬件初始化,例如初始化内存、定时器、串口、按键及USB驱动加载等。In step 801, after the device is powered on, the device first jumps to BOOT1 for execution, and BOOT1 performs hardware initialization necessary for loading BOOT2, such as initializing memory, timer, serial port, button, and USB driver loading.
步骤802,BOOT1从外部逻辑器件中读取前一次BOOT2启动的结果信息,并将该结果信息更新到BOOT2对应的数据区中;Step 802, BOOT1 reads the result information of the previous BOOT2 startup from the external logic device, and updates the result information to the data area corresponding to BOOT2;
步骤803,BOOT1检测设备上是否有外部USB存储设备挂载,如果有USB设备挂载,执行步骤804,如果没有,执行步骤806;Step 803, BOOT1 detects whether there is an external USB storage device mounted on the device, if there is a USB device mounted, step 804 is performed, if not, step 806 is performed;
步骤S804,在USB存储设备上查找是否存在与设备相匹配的BOOT2文件,这种查找,属于基于文件名的查找,但并不限于基于文件名查找的方式。如果在外部USB存储设备上找到了与设备相匹配的BOOT2文件,则从步骤805开始执行,如果在外部USB存储设备上未找到与设备相匹配的BOOT2文件,则从步骤806开始执行;In step S804, it is found on the USB storage device whether there is a BOOT2 file matching the device. This search belongs to the file name based search, but is not limited to the file name based search. If the BOOT2 file matching the device is found on the external USB storage device, the process starts from step 805. If the BOOT2 file matching the device is not found on the external USB storage device, the process starts from step 806;
步骤805,BOOT1将USB存储设备上的BOOT2加载到内存,并对BOOT2文件数据做完整性校验,如果BOOT2数据损坏,则执行步骤808,没有损坏,执行步骤810;Step 805, BOOT1 loads the BOOT2 on the USB storage device into the memory, and performs integrity check on the BOOT2 file data. If the BOOT2 data is corrupted, step 808 is performed, and no damage is performed, and step 810 is performed;
步骤S806,BOOT1遍历设备存储器件上所有BOOT2对应的数据区,查看是否有指定要加载的BOOT2,如果有,则从步骤810开始操作,如果没有,则从步骤807执行;Step S806, BOOT1 traverses all the data areas corresponding to the BOOT2 on the device storage device, and checks whether there is a BOOT2 that is specified to be loaded. If yes, the operation starts from step 810. If not, the process proceeds from step 807;
步骤S807,BOOT1遍历所有数据区信息,判断是否有可以正常启动的BOOT2,如果有,执行步骤809,否则,执行步骤808;Step S807, BOOT1 traverses all the data area information, determines whether there is BOOT2 that can be started normally, if yes, step 809 is performed, otherwise, step 808 is performed;
步骤808,BOOT1循环等待串口命令的输入,如果有,则执行串口命令,如果没有,则继续等待;这里对于串口输入命令的响应,不属于本发明实施例的重点,这里就不在详述。In step 808, BOOT1 waits for the input of the serial port command, and if so, executes the serial port command. If not, it continues to wait; the response to the serial port input command is not the focus of the embodiment of the present invention, and will not be described in detail herein.
步骤809,BOOT1从所有可执行的BOOT2中选取版本最新的BOOT2,并执行步骤810,如果有版本时间相同的BOOT2出现,则随机选取其中一个;Step 809, BOOT1 selects the latest version of BOOT2 from all executable BOOT2s, and performs step 810. If there is a BOOT2 with the same version time, one of them is randomly selected;
步骤S810,BOOT1将选取的BOOT2加载到内存,并对BOOT2做数据完整 性校验,如果数据不完整,则执行步骤807;如果数据完整,则执行步骤811;Step S810, BOOT1 loads the selected BOOT2 into the memory, and performs data integrity on BOOT2. Sexual verification, if the data is incomplete, step 807 is performed; if the data is complete, step 811 is performed;
步骤811,BOOT1更新对应数据区,标记此BOOT2为本次加载的BOOT2,同时,BOOT1启动硬件逻辑器件的计数器,程序从BOOT2开始执行;In step 811, BOOT1 updates the corresponding data area, and marks the BOOT2 as the BOOT2 loaded. At the same time, BOOT1 starts the counter of the hardware logic device, and the program starts from BOOT2;
步骤812,判断BOOT2是否在设定的时限内成功引导内核启动,并关闭计数器;BOOT2在成功执行所有内核引导前的初始化工作后,会在启动内核时,发送信号关闭外部逻辑器件的硬件计数器。如果外部逻辑器件在设定的时限内收到了关闭计数器的信号,则判定本次BOOT启动成功结束;如果没有收到,则判定本次BOOT启动异常,并执行步骤813;In step 812, it is determined whether BOOT2 successfully boots the kernel within the set time limit, and the counter is turned off; BOOT2 sends a signal to turn off the hardware counter of the external logic device when the kernel is successfully executed after the initialization of all kernel booting is successfully performed. If the external logic device receives the signal to turn off the counter within the set time limit, it determines that the BOOT startup is successfully ended; if not, it determines that the BOOT startup abnormality, and proceeds to step 813;
步骤813,外部硬件逻辑器件记录本次BOOT2启动失败的结果,重新启动设备。In step 813, the external hardware logic device records the result of the failure of the BOOT2 startup and restarts the device.
需要说明的是,外部硬件逻辑器件设定的从计数器开始计数到复位设备之间的时限,应大于设备BOOT2正常启动的时限,同时,还应留有一定的冗余,以防止外部硬件逻辑器件异常复位设备。It should be noted that the time limit from the start of the counter to the reset device set by the external hardware logic device should be greater than the time limit for the normal startup of the device BOOT2, and at the same time, some redundancy should be left to prevent the external hardware logic device. Abnormal reset device.
下面以两个BOOT为例进行可选说明,图9为本发明实施例提供的启动处理方法中一种HMPU双BOOT启动流程示意图,如图9所示,设备上电后,CPU从0地址加载Tractor,Tractor首先对CPU、RAM进行初始化。Tractor检测复杂可编程逻辑器件(Complex Programmable Logic Device,简称为CPLD)的状态寄存器(0x80),根据寄存器和数据区信息确定从哪个BOOT2(主BOOT、备BOOT)启动。Tractor同时启动10S、30S定时器。Tractor跳转到相应的BOOT2开始执行。BOOT2在单板初始化时通知CPLD关闭10S定时器,表明CPU已经跳转到BOOT2阶段开始执行。BOOT2在完成硬件初始化之后,在加载启动内核时,再次通知CPLD关闭30S定时器,表明BOOT2启动已经完成,进入内核启动阶段。The following is an example of two BOOTs. FIG. 9 is a schematic diagram of a HMPU dual BOOT startup process in a startup processing method according to an embodiment of the present invention. As shown in FIG. 9 , after the device is powered on, the CPU loads from the 0 address. Tractor, Tractor first initializes the CPU and RAM. Tractor detects the status register (0x80) of Complex Programmable Logic Device (CPLD), and determines which BOOT2 (primary BOOT, standby BOOT) to boot based on the register and data area information. Tractor starts the 10S and 30S timers at the same time. Tractor jumps to the corresponding BOOT2 to start execution. BOOT2 notifies the CPLD to turn off the 10S timer when the board is initialized, indicating that the CPU has jumped to the BOOT2 phase to start execution. After completing the hardware initialization, BOOT2 notifies the CPLD to close the 30S timer again when loading the boot kernel, indicating that the BOOT2 boot has been completed and enters the kernel boot phase.
设备上电后,CPLD等待Tractor启动10S、30S定时器。10S定时器超时,更新状态寄存器,指示CPU下次应该从备用BOOT启动;30S定时器超时,更新状态寄存器,指示CPU下次应该从备用BOOT启动。复位CPU,CPLD等待Tractor启动10S、30S定时器。After the device is powered on, the CPLD waits for the Tractor to start the 10S, 30S timer. The 10S timer expires, updating the status register, instructing the CPU to start from the standby BOOT next time; the 30S timer expires, updating the status register, indicating that the CPU should start from the standby BOOT next time. Reset the CPU, CPLD waits for Tractor to start 10S, 30S timer.
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计 算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。One of ordinary skill in the art will appreciate that all or part of the steps of the above embodiments may be used. The computer program can be implemented in a computer readable storage medium, the computer program being executed on a corresponding hardware platform (such as a system, device, device, device, etc.), when executed, including One or a combination of the steps of the method embodiments.
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。Alternatively, all or part of the steps of the above embodiments may also be implemented by using an integrated circuit. These steps may be separately fabricated into individual integrated circuit modules, or multiple modules or steps may be fabricated into a single integrated circuit module. achieve.
上述实施例中的装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。The devices/function modules/functional units in the above embodiments may be implemented by a general-purpose computing device, which may be centralized on a single computing device or distributed over a network of multiple computing devices.
上述实施例中的装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。When the device/function module/functional unit in the above embodiment is implemented in the form of a software function module and sold or used as a stand-alone product, it can be stored in a computer readable storage medium. The above mentioned computer readable storage medium may be a read only memory, a magnetic disk or an optical disk or the like.
本发明实施例通过将BOOT按功能拆分为一个BOOT1和多个BOOT2,其中,该BOOT1对应多个BOOT2,用于执行BOOT2的引导及引导BOOT2所必须的硬件初始化,该BOOT2用于执行BOOT的所有功能或该BOOT中除述BOOT1以外的功能,并通过BOOT1对BOOT2的启动执行BOOT启动处理,解决了相关技术中对BOOT的启动存在缺陷的问题,提高了设备启动和升级的成功率和安全性。 In the embodiment of the present invention, the BOOT is divided into a BOOT1 and a plurality of BOOT2 according to functions, wherein the BOOT1 corresponds to multiple BOOT2s, and is used for performing BOOT2 booting and hardware initialization necessary for booting BOOT2, and the BOOT2 is used for executing BOOT. All functions or functions other than BOOT1 in the BOOT, and BOOT start processing by BOOT1 to start BOOT2, solve the problem that the booting of BOOT in the related technology is defective, and improve the success rate and safety of the startup and upgrade of the device. Sex.
Claims (10)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510359972.4 | 2015-06-25 | ||
| CN201510359972.4A CN106325903A (en) | 2015-06-25 | 2015-06-25 | A start processing method and device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2016206514A1 true WO2016206514A1 (en) | 2016-12-29 |
Family
ID=57584639
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2016/083334 Ceased WO2016206514A1 (en) | 2015-06-25 | 2016-05-25 | Startup processing method and device |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN106325903A (en) |
| WO (1) | WO2016206514A1 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110554879A (en) * | 2019-07-26 | 2019-12-10 | 深圳震有科技股份有限公司 | Burning method and system based on processor and computer equipment |
| CN112114850A (en) * | 2020-07-15 | 2020-12-22 | 北京航空航天大学杭州创新研究院 | A Serial-based STM32 SCM On-chip and Off-chip FLASH Program Scatter Loading Method |
| CN114398107A (en) * | 2022-01-25 | 2022-04-26 | 中国电子科技集团公司第十研究所 | Design method for cross-domain multi-mode loading of DSP (digital Signal processor) program and universal platform |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107632862A (en) * | 2017-09-20 | 2018-01-26 | 江苏兆能电子有限公司 | A kind of multistage start-up loading method of vehicle electronic control unit ECU |
| CN108897574A (en) * | 2018-06-01 | 2018-11-27 | 深圳市方为半导体有限公司 | Embedded system and its management method of program operation |
| CN110297605B (en) * | 2019-06-27 | 2023-02-10 | 深圳忆联信息系统有限公司 | Method and device for effectively improving solid state disk firmware loading speed |
| CN110347444B (en) * | 2019-07-12 | 2022-06-07 | 深圳忆联信息系统有限公司 | Starting method and system for SSD multi-state switching |
| CN112596766A (en) * | 2020-12-24 | 2021-04-02 | 浙江合众新能源汽车有限公司 | Software upgrading method and device based on Bootloader |
| CN112799729A (en) * | 2021-01-29 | 2021-05-14 | 苏州浪潮智能科技有限公司 | Uboot starting method, device, equipment and storage medium of multi-core system on chip |
| CN116700061B (en) * | 2023-04-12 | 2024-05-03 | 广东为辰信息科技有限公司 | Quick starting method based on safe starting technology |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030182547A1 (en) * | 2002-03-22 | 2003-09-25 | Kabushiki Kaisha Toshiba. | Information device, storage medium and initial state restoration method |
| CN101281469A (en) * | 2008-04-11 | 2008-10-08 | 青岛海信电器股份有限公司 | Embedded system and its bootloading method |
| CN101944051A (en) * | 2010-09-29 | 2011-01-12 | 山东大学 | Multi-copy high-reliability embedded system firmware on chip and working method thereof |
-
2015
- 2015-06-25 CN CN201510359972.4A patent/CN106325903A/en active Pending
-
2016
- 2016-05-25 WO PCT/CN2016/083334 patent/WO2016206514A1/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030182547A1 (en) * | 2002-03-22 | 2003-09-25 | Kabushiki Kaisha Toshiba. | Information device, storage medium and initial state restoration method |
| CN101281469A (en) * | 2008-04-11 | 2008-10-08 | 青岛海信电器股份有限公司 | Embedded system and its bootloading method |
| CN101944051A (en) * | 2010-09-29 | 2011-01-12 | 山东大学 | Multi-copy high-reliability embedded system firmware on chip and working method thereof |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110554879A (en) * | 2019-07-26 | 2019-12-10 | 深圳震有科技股份有限公司 | Burning method and system based on processor and computer equipment |
| CN112114850A (en) * | 2020-07-15 | 2020-12-22 | 北京航空航天大学杭州创新研究院 | A Serial-based STM32 SCM On-chip and Off-chip FLASH Program Scatter Loading Method |
| CN114398107A (en) * | 2022-01-25 | 2022-04-26 | 中国电子科技集团公司第十研究所 | Design method for cross-domain multi-mode loading of DSP (digital Signal processor) program and universal platform |
Also Published As
| Publication number | Publication date |
|---|---|
| CN106325903A (en) | 2017-01-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2016206514A1 (en) | Startup processing method and device | |
| US9471435B2 (en) | Information processing device, information processing method, and computer program | |
| JP5607863B2 (en) | Secure recovery apparatus and method | |
| US8751783B2 (en) | Booting computing devices with EFI aware operating systems | |
| JP6297715B2 (en) | Compute device initialization trace | |
| TW202030602A (en) | The method and system of bios recovery and update | |
| CN116932010B (en) | System firmware upgrading method, device and server | |
| US20160103688A1 (en) | Method of Starting Computing System | |
| CN103970564A (en) | Automatic repairing and upgrading method of embedded operating system and embedded operating system with automatic repairing and upgrading functions | |
| CN113703823A (en) | BMC (baseboard management controller) firmware upgrading method and device, electronic equipment and storage medium | |
| CN114265603A (en) | System upgrading method and device based on asymmetric partition and electronic equipment | |
| TW201716999A (en) | Method for startup inspection and computer system using the same | |
| WO2015184732A1 (en) | Bootstrap storage method, bootstrap fault recovery method and device, and computer storage medium | |
| CN120780542B (en) | Restarting control method and device of server processor, storage medium and electronic equipment | |
| CN114139168B (en) | TPCM measuring method, device and medium | |
| CN109375953B (en) | Operating system starting method and device | |
| CN101354654A (en) | System and method for automatically switching basic input/output program | |
| CN114995852A (en) | Device upgrade method, device and computer-readable storage medium | |
| CN104298618A (en) | Instruction processing method and device for intelligent terminal | |
| CN119271250A (en) | BMC chip firmware upgrade method, BMC chip, device and storage medium | |
| JP7389877B2 (en) | Network optimal boot path method and system | |
| CN105867891A (en) | Guide loading device and method, electronic equipment and mainboard replacement method thereof | |
| JP5992029B2 (en) | Basic input / output system program code writing circuit and writing method | |
| US11354109B1 (en) | Firmware updates using updated firmware files in a dedicated firmware volume | |
| US20240012572A1 (en) | Operationalization of memories using memory information sets |
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: 16813630 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: 16813630 Country of ref document: EP Kind code of ref document: A1 |