WO2012149774A1 - 一种处理器启动方法及装置 - Google Patents

一种处理器启动方法及装置 Download PDF

Info

Publication number
WO2012149774A1
WO2012149774A1 PCT/CN2011/080215 CN2011080215W WO2012149774A1 WO 2012149774 A1 WO2012149774 A1 WO 2012149774A1 CN 2011080215 W CN2011080215 W CN 2011080215W WO 2012149774 A1 WO2012149774 A1 WO 2012149774A1
Authority
WO
WIPO (PCT)
Prior art keywords
bootrom
processor
program
ddr sdram
boot
Prior art date
Application number
PCT/CN2011/080215
Other languages
English (en)
French (fr)
Inventor
刘兵
王翔
范茂斌
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2011/080215 priority Critical patent/WO2012149774A1/zh
Priority to CN201180001800.XA priority patent/CN102388365B/zh
Publication of WO2012149774A1 publication Critical patent/WO2012149774A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area

Definitions

  • the present invention relates to the field of processors, and in particular, to a processor startup method and apparatus.
  • a program is usually implemented by a flash memory (Flash) and a double data rate synchronous dynamic random access memory (DDR SDRAM).
  • flash flash
  • DDR SDRAM double data rate synchronous dynamic random access memory
  • CPU Central Processing Unit
  • the CPU starts from Boot Strap, the start area of the boot area BOOTROM, and executes the Boot Strap program in Flash to initialize the CPU.
  • the BootROM is usually backed up, and the two-stage BootROM is used.
  • the primary BootROM is damaged (such as accidental erasure, upgrade failure, device failure, etc.)
  • the processor starts from the standby BootROM. , without affecting the normal startup of the processor.
  • BOOTROM backup the prior art adopts the software-only mode shown in Figure 2.
  • the Boot ROM program of the secondary BootROM is booted by the Boot Strap program (that is, the compression program Zipped BootRoml, as shown in Figure 2).
  • the Boot Strap program boots the backup BOOTROM program of the first-level BootROM (ie, the compression program Zipped BootRomO, as shown in step 2 of FIG. 2, c,), to be formally imaged Run.
  • the CPU upgrades and repairs the faulty secondary BootROM, and clears the failure count value, so that the CPU can execute the main BOOTROM program from the secondary BOOTROM again to guide the official image Run Image to implement CPU startup.
  • the invention provides a processor starting method and device, which can improve the reliability of processor startup.
  • An aspect of the present invention provides a processor startup method, including:
  • the mapping unit receives the boot address sent by the processor, and maps the boot address of the processor to the first boot boot area BOOTROM in the flash memory;
  • each of the BOOTROMs has a compression program Zipped BootRom and a Boot Strap program.
  • a processor activation apparatus including:
  • mapping unit flash memory, and DDR SDRAM
  • the processor is configured to send a startup address to the mapping unit
  • the mapping unit includes an address mapping module, configured to receive a boot address sent by the processor, and map a boot address of the processor to a first boot boot area BootROM in the flash;
  • the processor is further configured to perform internal initialization of a Boot Strap program in the first BootROM in the first BootROM, and copy a Boot Strap program in the first BootROM to the low-end memory of the DDR SDRAM, and jump Going to the low-end memory of the DDR SDRAM to execute a Boot Strap program in the first BOOTROM; and decompressing the compression program Zipped BootRom of the first BOOTROM to the high-end memory of the DDR SDRAM, and jumping to the DDR
  • the SDRAM high-end memory executes the decompressing program UnZipped BootRom corresponding to the first BOOTROM compression program Zipped BootRom; and loads the official image Run Image of the file system area in the Flash into the Run Image area of the DDR SDRAM, and jumps Executing the Run Image to a Run Image area of the DDR
  • each of the BOOTROMs has a compression program Zipped BootRom and a Boot Strap program.
  • the boot address of the processor may be mapped to the first boot boot area BootROM in the flash, and the processor executes the Boot Strap program in the first BootROM for internal Initializing, and copying the Boot Strap program in the first BOOTROM to the low-end memory of the DDR SDRAM, and jumping to the low-end memory of the DDR SDRAM to execute the Boot Strap program in the first BootROM; and solving the Zipped BootRom of the first BOOTROM compression program Compressed to DDR SDRAM high-end memory, and jumped to DDR SDRAM high-end memory to execute the first BOOTROM compression program Zipped BootRom corresponding decompression program UnZipped BootRom; and the Flash file system area official image Run Image loaded to DDR SDRAM Run The Image area, and jump to the Run Image area of the DDR SDRAM to execute the Run Image, thus enabling the processor to start.
  • the Boot Strap program is also backed up while the Boot ROM program is being backed up, so that the Boot Strap in a certain BootROM is enabled.
  • the processor can also be booted from other BootROM programs of BootROM, which can improve the reliability of processor startup.
  • FIG. 1 is a schematic diagram of a CPU startup in the prior art
  • FIG. 2 is a schematic diagram of another CPU startup in the prior art
  • FIG. 3 is a schematic flowchart of a processor startup method according to an embodiment of the present invention
  • FIG. 4 to FIG. 6 are schematic structural diagrams of several processor startup devices according to an embodiment of the present invention.
  • the embodiment of the invention provides a processor starting method and device, which can improve the reliability of the processor startup. The details are described below separately.
  • FIG. 3 is a schematic flowchart diagram of a processor startup method according to an embodiment of the present invention. As shown in FIG. 3, the method may include the following steps:
  • the mapping unit receives a boot address sent by the processor, and maps a boot address of the processor to a first boot boot area BOOTROM in the flash.
  • the first booting boot area BOOTROM may be any BOOTROM in the flash, and does not refer to the first BOOTROM with the smallest serial number in the flash.
  • the subsequent second BOOTROM is only a concept relative to the first BOOTROM, and may be any BOOTROM other than the first BOOTROM in the Flash, and does not refer to the second BOOTROM whose second number is in the Flash.
  • the processor executes the Boot Strap program in the first BootROM for internal initialization, and copies the Boot Strap program in the first BootROM to the low-end memory of the DDR SDRAM, and jumps to the low-end memory of the DDR SDRAM to execute the first BootROM.
  • Boot Strap program decompress the first BOOTROM compression program Zipped BootRom to DDR SDRAM high-end memory, and jump to the DDR SDRAM high-end memory to execute the first BOOTROM compression program Zipped BootRom corresponding decompression program UnZipped BootRom; and Flash
  • the official image of the file system area is loaded into the Run Image area of the DDR SDRAM, and jumps to the Run Image area of the DDR SDRAM to execute the Run Image; where there are at least two Flashes.
  • BOOTROM, and the compression program Zipped BootRom and Boot Strap programs are stored in each BOOTROM.
  • the processor performs the Boot Strap program in the first BootROM for internal initialization, which may include a Phase Locked Loop (PLL), a Memory Management Unit (MMU), a DDR SDRAM controller (DDR SDRAM controller, DDRC). ) and so on.
  • PLL Phase Locked Loop
  • MMU Memory Management Unit
  • DDR SDRAM controller DDR SDRAM controller
  • the boot address of the processor may be mapped to the first boot boot area BootROM in the flash, and the processor executes the Boot Strap program in the first BootROM for internal Initializing, and copying the Boot Strap program in the first BOOTROM to the low-end memory of the DDR SDRAM, and jumping to the low-end memory of the DDR SDRAM to execute the Boot Strap program in the first BootROM; and solving the Zipped BootRom of the first BOOTROM compression program Compressed to DDR SDRAM high-end memory, and jumped to DDR SDRAM high-end memory to execute the first BOOTROM compression program Zipped BootRom corresponding decompression program UnZipped BootRom; and the Flash file system area official image Run Image loaded to DDR SDRAM Run The Image area, and jump to the Run Image area of the DDR SDRAM to execute the Run Image, thus enabling the processor to start.
  • the Boot Strap program is also backed up while the Boot ROM program is being backed up, so that the Boot Strap in a certain BootROM is enabled.
  • the processor can also be booted from other BootROM programs of BootROM, which can improve the reliability of processor startup.
  • the method may further include the following steps:
  • mapping unit accumulates the number of failures that the processor initiates through the first BOOTROM.
  • the failure of the processor to start through the first BOOTROM may be caused by any one of the following A ⁇ D, wherein:
  • the first BOOTROM is damaged, such as accidental erasure, upgrade failure, device failure, etc.
  • the processor executes the Boot Strap program in the first BOOTROM for internal initialization failure.
  • the processor copies the Boot Strap program in the first BOOTROM to the low-end memory of the DDR SDRAM, and jumps to the low-end memory of the DDR SDRAM to execute the Boot Strap in the first BootROM. The order failed.
  • the processor decompresses the first BOOTROM compression program Zipped BootRom into the DDR SDRAM high-end memory, and jumps to the DDR SDRAM high-end memory to execute the first BOOTROM compression program.
  • the Zipped BootRom corresponding decompression program UnZipped BootRom fails.
  • the mapping unit maps the startup address of the processor to the second BOOTROM.
  • the mapping unit may receive the control command sent by the processor, and set a threshold value corresponding to each BOOTROM in the flash according to the control instruction of the processor; wherein, the threshold value of each BOOTROM corresponds to one or More than one.
  • the threshold value of the number of times of each BOOTROM may be the same or different, which is not limited in the embodiment of the present invention. In particular, if the threshold number of times corresponding to each BOOTROM is not the same, the BOOTROM corresponding to the threshold value can be identified by the threshold value.
  • a BOOTROM may correspond to a threshold number interval, such that the BOOTROM may correspond to more than one threshold threshold.
  • the processor fails to start through the first BootROM, and the number of failures of the processor to start through the first BootROM is less than the number of times of the second BOOTROM in the Flash, the processor performs the above step 302 again, and tries again.
  • a boot ROM is started, and the mapping unit maps the boot address of the processor to the second boot boot in the flash until the number of failures of the processor booting through the first BootROM is greater than or equal to the threshold of the second BOOTROM in the flash.
  • Zone BootROM restarted by the processor to try to boot through the second BootROM.
  • the processor executes the Boot Strap program in the second BootROM for internal initialization, and copies the Boot Strap program in the second BootROM to the low-end memory of the DDR SDRAM, and jumps to the low-end memory of the DDR SDRAM to execute the second BootROM.
  • Boot Strap program decompress the second BOOTROM compression program Zipped BootRom to DDR SDRAM high-end memory, and jump to DDR SDRAM high-end memory to execute the second BOOTROM compression program Zipped BootRom corresponding decompression program UnZipped BootRom; File system area in Flash
  • the official image Run Image is loaded into the Run Image area of the DDR SDRAM, and jumps to the Run Image area of the DDR SDRAM to execute the Run Image, which enables the processor to start normally.
  • the Boot Strap program is backed up while the Boot ROM program is backed up, so that the processor is started by the first BootROM.
  • the processor can be started from the Boot ROM program of the second BootROM, thereby improving the reliability of the processor startup.
  • the CPU when the processor is booted by the second BootROM, the CPU may perform an upgrade and repair on the first boot ROM that failed to be booted, and send a clear command to the mapping unit, so that the mapping unit clears the processor to start through the first BootROM according to the clear command. The number of failures, so that the processor can execute the BootROM program from the first BootROM again to boot the official image Run Image.
  • the processor can be a CPU
  • the mapping unit can be built into the CPU to reduce hardware peripheral design and reduce cost.
  • FIG. 4 is a schematic structural diagram of a processor starting device according to an embodiment of the present invention.
  • the apparatus may include:
  • processor 401 configured to send a boot address to the mapping unit 402;
  • the mapping unit one 402 includes an address mapping module one 4021 for receiving the startup address sent by the processor 401, and mapping the startup address of the processor 401 to the first boot area BOOTROM in the Flash 403;
  • the processor 401 is further configured to perform internal initialization of the Boot Strap program in the first BootROM, and copy the Boot Strap program in the first BootROM to the DDR SDRAM-404 low-end memory, and jump to the DDR SDRAM-404 low
  • the end memory executes the Boot Strap program in the first BootROM (step a shown in FIG.
  • the first booting boot area BOOTROM may be any one of the Flash-403 BOOTROMs, and is not the first BOOTROM with the smallest serial number in the Flash-403.
  • the subsequent second BOOTROM is only a concept relative to the first BOOTROM, and may be any BOOTROM other than the first BOOTROM in the Flash-403, not the second BOOTROM with the second smallest serial number in the Flash-403. .
  • the processor 401 executes the Boot Strap program in the first BOOTROM for internal initialization, which may include initialization of a PLL, an MMU, a DDRC, and the like.
  • mapping unit one 402 may further include:
  • the counter module one 4022 is configured to accumulate the number of failures of the processor 401 to be started by the first BOOTROM when the processor 401 fails to start by the first BOOTROM.
  • the identification module one 4023 is configured to identify whether the number of failures initiated by the processor 401 through the first BOOTROM is greater than or equal to a threshold value corresponding to the second BOOTROM in the Flash 403;
  • the address mapping module one 4021 is further configured to: when the recognition result of the identification module one 4023 is YES, map the startup address of the processor 401 to the second BOOTROM in the Flash 403;
  • the processor 401 is further configured to perform internal initialization of the Boot Strap program in the second BootROM in the Flash 403, and copy the Boot Strap program in the second BootROM to the DDR SDRAM-404 low-end memory, and jump Go to DDR SDRAM - 404 low-end memory to execute the Boot Strap program in the second BootROM (step a, as shown in Figure 4); and decompress the second BOOTROM compression program Zipped BootRom to DDR SDRAM - 404 high-end memory, And jump to DDR SDRAM - 404 high-end memory to execute the second BOOTROM compression program Zipped BootRom corresponding decompression program UnZipped BootRom (steps b, c, as shown in Figure 4); and the Flash - 403 file system area
  • the official image Run Image is loaded into the DDR SDRAM-404 Run Image area, and jumps to the DDR SDRAM-404 Run Image area to execute the above Run Image (eg Steps d, e) shown in FIG. 4 enable the processor
  • mapping unit one 402 may further include:
  • the counter setting module one 4024 is configured to receive a control command sent by the processor 401, and set a threshold value corresponding to each BOOTROM in the Flash 403 according to a control command of the processor 401; wherein, each BOOTROM corresponds to The number of times threshold is one or more.
  • the threshold value of the number of times of each BOOTROM may be the same or different, which is not limited in the embodiment of the present invention.
  • the identification module one 4023 can identify the BOOTROM corresponding to the threshold value by the threshold value.
  • a BOOTROM can correspond to a threshold threshold interval, such that
  • the BOOTROM can correspond to more than one threshold number of times.
  • the mapping unit 402 will again The boot address of the processor 401 is mapped to the first boot boot area BootROM in the Flash 403, and the processor 401 attempts to start again through the first BootROM until the number of failures of the processor 401 being booted by the first BootROM is greater than or equal to
  • the mapping unit 402 maps the boot address of the processor 401 to the second boot boot area BootROM in the Flash 403, and the processor 401 tries again.
  • the second BOOTROM starts.
  • the counter setting module one 4024 is further configured to receive a clear instruction sent by the processor 401, and clear the number of failures of the processor 401 to be initiated by the first BOOTROM in the Flash 403.
  • the first and second BOOTROMs in the Flash-403 hold the compression program Zipped BootRom and the Boot Strap program, and the first and second BOOTROMs are completely peer-to-peer.
  • the mapping unit one 402 maps the boot address of the processor 401 to the first BOOTROM (as the primary BootROM) through its address mapping module one 4021; when the processor-401 fails to boot through the first BootROM,
  • the counter module one 4022 in the mapping unit one 402 records the number of failures.
  • the identification module one 4023 in the mapping unit 402 identifies that the number of failures of the processor 401 initiated by the first BOOTROM is greater than or equal to the number of times corresponding to the second BOOTROM.
  • the address mapping module 4021 maps the boot address of the processor 401 to the second BootROM (as a spare BootROM), and the official image of the Run Image is loaded into the Run Image area of the DDR SDRAM-404 to implement the processor 401 normally.
  • the processor 401 can start the failed first BootROM to perform the upgrade and repair, and at the same time, the counter setting module one 4024 clears the failure number value of the processor 401 through the first BootROM, so that the processor 401 can again
  • the first BootROM executes the BootROM program to boot the image Run Image to implement the processor-401 startup.
  • the Flash-403 may be extended such that there are n BootROM areas in the Flash-403, each BOOTROM is equal in status, and independent of each other; the counter module 4022 in the mapping unit 402 The count value interval allocation is assigned to n BOOTROMs.
  • address mapping module one 4021 in mapping unit one 402 can map the startup address of processor one 401 to B00TR0M1; when B00TR0M1 is corrupted, address mapping module one 4021 can map the startup address of processor one 401 to B00TR0M2; and so on, so that the boot of the processor one 401 can be realized while n BOOTROM backups.
  • the Flash-403 may be extended such that there are n BootROM areas in the Flash-403, each BOOTROM is equal in status, and independent of each other; the counter module 4022 in the mapping unit 402 The count value interval allocation is assigned to n BOOTROMs.
  • the processor 401 can modify the counter value of the counter module 4022 to point to a specific BOOTROM through the counter setting module one 4024, and then thermally reset the processor 401 so that the processor 401 can be booted from the specific BootROM. Meet the application needs of certain scenarios.
  • the processor 401 can be extended, so that the mapping unit 402 is built into the processor 401, so that the backup and switching of the BootROM can be achieved without external hardware addition.
  • the circuit implements the mapping unit one 402, thereby cooling the hardware peripheral design and reducing the cost.
  • the foregoing program may be stored in a computer readable storage medium, and the program is executed when executed.
  • the foregoing storage medium includes: a Read-Only Memory (ROM), a Random Access Memory (RAM), a disk or an optical disk, and the like, which can store program codes. Medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

一种处理器启动方法及装置,该方法包括:接收处理器发送的启动地址并将处理器的启动地址映射至Flash中的第一BOOTROM;处理器执行第一BOOTROM中的Boot Strap程序进行内部初始化,将该Boot Strap程序复制到DDR SDRAM低端内存继续执行Boot Strap程序;将第一BOOTROM的压缩程序解压缩到DDR SDRAM高端内存并跳转执行解压缩程序;将Flash中文件系统区的正式映像加载到DDR SDRAM的正式映像区并跳转执行正式映像;Flash中存在至少二个BOOTROM,且每个BOOTROM中都保存有压缩程序和Boot Strap程序。能够提高处理器启动的可靠性。

Description

一种处理器启动方法及装置 技术领域
本发明涉及处理器领域, 具体涉及一种处理器启动方法及装置。
背景技术
在处理器领域中, 通常由闪存 (Flash )和双倍速率同步动态随机存储器 ( Double Data Rate Synchronous Dynamic Random Access Memory , DDR SDRAM )配合执行程序来实现处理器的启动。以中央处理器( Central Processing Unit, CPU ) 启动为例, 其启动过程如图 1所示, 包括以下步骤:
( 1 ) 、 CPU从启动引导区 BOOTROM的起始区域 Boot Strap启动, 在 Flash 中执行 Boot Strap程序, 进行 CPU内部初始化。
( 2 ) 、 CPU将 Boot Strap程序复制到 DDR SDRAM低端内存, CPU指针跳 转到 DDR SDRAM低端内存继续执行 Boot Strap程序 (如图 1所示的步骤 a ) 。
( 3 ) 、 CPU将 BOOTROM的压缩程序 Zipped BootRom解压缩到 DDR SDRAM高端内存, CPU指针跳转到 DDR SDRAM高端内存执行解压缩程序 UnZipped BootRom (如图 1所示的步骤 b、 c ) 。
( 4 ) 、 CPU将 Flash中文件系统区的正式映像 Run Image加载到 DDR SDRAM的 Run Image区, CPU指针跳转到 DDR SDRAM的 Run Image区执行 Run Image, 完成 CPU启动 (如图 1所示的步骤 d、 e ) 。
实际应用中,为了提高处理器启动的可靠性,通常会对 BOOTROM做备份, 采用两级 BOOTROM, 当主用 BOOTROM损坏(如误擦除、 升级失败、 器件失 效等)时, 处理器从备用 BOOTROM启动, 从而不影响处理器的正常启动。 为 实现 BOOTROM备份, 现有技术采用如图 2所示的纯软件方式, 正常情况下, 由 Boot Strap程序引导二级 BOOTROM的主用 BOOTROM程序 (即压缩程序 Zipped BootRoml , 如图 2所示的步骤 b、 c ) , 用主用 BOOTROM程序引导文件 系统区的正式映像 Run Image (如图 2所示的步骤 d、 e ) ; 异常情况下, 当二 级 BOOTROM启动失败,软件会将失败计数保存到存储器中, 当连续失败计数 值超出限定次数时, Boot Strap程序引导一级 BOOTROM的备用 BOOTROM程 序(即压缩程序 Zipped BootRomO, 如图 2所示的步骤 b,、 c,), 待正式映像 Run Image加载成功后, CPU对故障的二级 BOOTROM进行升级修复, 同时清除失 败计数值,以使 CPU可以再次从二级 BOOTROM执行主用 BOOTROM程序弓 |导 正式映像 Run Image , 实现 CPU启动。
实践中发现, 上述方案存在一个很大的限制, 即 CPU必须从一级 BOOTROM的 Boot Strap程序启动, 若一级 BOOTROM的 Boot Strap程序损坏, 则无法从二级 BOOTROM启动, 也无法从一级 BOOTROM启动, 导致 CPU无法 正常启动, 降低了启动可靠性。
发明内容
本发明提供一种处理器启动方法及装置, 能够提高处理器启动的可靠性。 本发明一方面提供一种处理器启动方法, 包括:
映射单元接收处理器发送的启动地址,并将所述处理器的启动地址映射至 闪存 Flash中的第一启动引导区 BOOTROM;
所述处理器执行所述第一 BOOTROM中的起始区域 Boot Strap程序进行内 部初始化, 以及将所述第一 BOOTROM中的 Boot Strap程序复制到双倍速率同 步动态随机存储器 DDR SDRAM低端内存,并跳转到所述 DDR SDRAM低端内 存执行所述第—BOOTROM中的 Boot Strap程序; 以及将所述第一 BOOTROM 的压缩程序 Zipped BootRom解压缩到所述 DDR SDRAM高端内存,并跳转到所 述 DDR SDRAM高端内存执行所述第一 BOOTROM的压缩程序 Zipped BootRom对应的解压缩程序 UnZipped BootRom; 以及将所述 Flash中文件系统 区的正式映像 Run Image加载到所述 DDR SDRAM的 Run Image区, 并跳转到所 述 DDR SDRAM的 Run Image区执行所述 Run Image;
所述闪存 Flash中存在至少二个 BOOTROM , 而且每一个 BOOTROM中均 保存有压缩程序 Zipped BootRom和 Boot Strap程序。
另一方面, 提供一种处理器启动装置, 包括:
处理器、 映射单元、 闪存 Flash以及 DDR SDRAM;
所述处理器, 用于发送启动地址给所述映射单元;
所述映射单元包括地址映射模块, 用于接收所述处理器发送的启动地址, 并将所述处理器的启动地址映射至所述 Flash中的第一启动引导区 BOOTROM; 所述处理器, 还用于执行所述第一 BOOTROM中的起始区域 Boot Strap程 序进行内部初始化, 以及将所述第一 BOOTROM中的 Boot Strap程序复制到所 述 DDR SDRAM低端内存,并跳转到所述 DDR SDRAM低端内存执行所述第一 BOOTROM中的 Boot Strap程序; 以及将所述第一 BOOTROM的压缩程序 Zipped BootRom解压缩到所述 DDR SDRAM高端内存, 并跳转到所述 DDR SDRAM高端内存执行所述第一 BOOTROM的压缩程序 Zipped BootRom对应的 解压缩程序 UnZipped BootRom;以及将所述 Flash中文件系统区的正式映像 Run Image加载到所述 DDR SDRAM的 Run Image区, 并跳转到所述 DDR SDRAM的 Run Image区执行所述 Run Image;
其中, 所述 Flash中存在至少二个 BOOTROM, 而且每一个 BOOTROM中 均保存有压缩程序 Zipped BootRom和 Boot Strap程序。
本发明实施例中, 映射单元接收处理器发送的启动地址之后, 可以将处理 器的启动地址映射至 Flash中的第一启动引导区 BOOTROM , 由处理器执行第 一 BOOTROM中的 Boot Strap程序进行内部初始化, 以及将第一 BOOTROM中 的 Boot Strap程序复制到 DDR SDRAM低端内存, 并跳转到 DDR SDRAM低端 内存执行第一 BOOTROM中的 Boot Strap程序; 以及将第一 BOOTROM的压缩 程序 Zipped BootRom解压缩到 DDR SDRAM高端内存, 并跳转到 DDR SDRAM 高端内存执行第一 BOOTROM的压缩程序 Zipped BootRom对应的解压缩程序 UnZipped BootRom; 以及将 Flash中文件系统区的正式映像 Run Image加载到 DDR SDRAM的 Run Image区, 并跳转到 DDR SDRAM的 Run Image区执行 Run Image, 从而实现处理器的启动。 由于 Flash中存在至少二个 BOOTROM, 而且 每一个 BOOTROM中均保存有压缩程序 Zipped BootRom和 Boot Strap程序, 从 而在实现 BOOTROM备份的同时, 也对 Boot Strap程序进行备份, 使得在某一 个 BOOTROM的 Boot Strap程序损坏的情况下, 处理器还可以从其他 BOOTROM的 Boot Strap程序启动, 从而可以提高处理器启动的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例中所需要使用的附图作筒单地介绍, 显而易见地, 下面描述中的附图仅仅是 本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的 前提下, 还可以根据这些附图获得其他的附图。
图 1 为现有技术中一种 CPU启动示意图;
图 2 为现有技术中另一种 CPU启动示意图;
图 3 为本发明实施例提供的一种处理器启动方法的流程示意图; 图 4~图6为本发明实施例提供的几种处理器启动装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。基于本发明中的实施例, 本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
本发明实施例提供了一种处理器启动方法及装置,能够提高处理器启动的 可靠性。 以下分别进行详细说明。
请参阅图 3 , 图 3为本发明实施例提供的一种处理器启动方法的流程示意 图。 如图 3所示, 该方法可以包括以下步骤:
301、 映射单元接收处理器发送的启动地址, 并将处理器的启动地址映射 至 Flash中的第一启动引导区 BOOTROM。
本发明实施例中, 第一启动引导区 BOOTROM可以是 Flash中的任意一个 BOOTROM , 并非指 Flash中序号最小的第一个 BOOTROM。 后续的第二 BOOTROM也仅仅是一个相对于第一 BOOTROM的概念, 可以是 Flash中除了 上述第一 BOOTROM之外的任意一个 BOOTROM, 并非指 Flash中序号第二小 的第二个 BOOTROM。
302、 处理器执行第一 BOOTROM中的 Boot Strap程序进行内部初始化, 以 及将第一 BOOTROM中的 Boot Strap程序复制到 DDR SDRAM低端内存, 并跳 转到 DDR SDRAM低端内存执行第一 BOOTROM中的 Boot Strap程序; 以及将 第一 BOOTROM的压缩程序 Zipped BootRom解压缩到 DDR SDRAM高端内存, 并跳转到 DDR SDRAM高端内存执行第一 BOOTROM的压缩程序 Zipped BootRom对应的解压缩程序 UnZipped BootRom; 以及将 Flash中文件系统区的 正式映像 Run Image加载到 DDR SDRAM的 Run Image区, 并跳转到 DDR SDRAM的 Run Image区执行 Run Image; 其中, Flash中存在至少二个 BOOTROM, 而且每一个 BOOTROM中均保存有压缩程序 Zipped BootRom和 Boot Strap程序。
其中, 处理器执行第一 BOOTROM中的 Boot Strap程序进行内部初始化可 以包括锁相环( Phase Locked Loop, PLL ),内存管理单元( Memory Management Unit, MMU )、 DDR SDRAM控制器( DDR SDRAM controller, DDRC )等初 始化。
本发明实施例中, 映射单元接收处理器发送的启动地址之后, 可以将处理 器的启动地址映射至 Flash中的第一启动引导区 BOOTROM , 由处理器执行第 一 BOOTROM中的 Boot Strap程序进行内部初始化, 以及将第一 BOOTROM中 的 Boot Strap程序复制到 DDR SDRAM低端内存, 并跳转到 DDR SDRAM低端 内存执行第一 BOOTROM中的 Boot Strap程序; 以及将第一 BOOTROM的压缩 程序 Zipped BootRom解压缩到 DDR SDRAM高端内存, 并跳转到 DDR SDRAM 高端内存执行第一 BOOTROM的压缩程序 Zipped BootRom对应的解压缩程序 UnZipped BootRom; 以及将 Flash中文件系统区的正式映像 Run Image加载到 DDR SDRAM的 Run Image区, 并跳转到 DDR SDRAM的 Run Image区执行 Run Image, 从而实现处理器的启动。 由于 Flash中存在至少二个 BOOTROM, 而且 每一个 BOOTROM中均保存有压缩程序 Zipped BootRom和 Boot Strap程序, 从 而在实现 BOOTROM备份的同时, 也对 Boot Strap程序进行备份, 使得在某一 个 BOOTROM的 Boot Strap程序损坏的情况下, 处理器还可以从其他 BOOTROM的 Boot Strap程序启动, 从而可以提高处理器启动的可靠性。
一个实施例中, 若处理器通过第一 BOOTROM启动失败, 则上述方法还可 以包括以下步骤:
1 )、 映射单元累计处理器通过第一 BOOTROM启动的失败次数。
本发明实施例中,处理器通过第一 BOOTROM启动失败可能是由以下 A~D 任意一种因素导致的, 其中:
A、 第一 BOOTROM损坏, 如误擦除、 升级失败、 器件失效等。
B、 处理器执行第一 BOOTROM中的 Boot Strap程序进行内部初始化失败。
C、处理器将第一 BOOTROM中的 Boot Strap程序复制到 DDR SDRAM低端 内存, 并跳转到 DDR SDRAM低端内存执行第一 BOOTROM中的 Boot Strap程 序失败。
D、 处理器将第一 BOOTROM的压缩程序 Zipped BootRom解压缩到 DDR SDRAM高端内存, 并跳转到 DDR SDRAM高端内存执行第一 BOOTROM的压 缩程序 Zipped BootRom对应的解压缩程序 UnZipped BootRom失败。
2 )、 若处理器通过第一 BOOTROM启动的失败次数大于或等于 Flash中的 第二 BOOTROM对应的次数门限值,则映射单元将处理器的启动地址映射至第 二 BOOTROM。
一个实施例中, 映射单元可以接收处理器发送的控制指令, 并根据处理器 的控制指令设置 Flash中每一个 BOOTROM对应的次数门限值; 其中, 每一个 BOOTROM对应的次数门限值为一个或一个以上。
一个实施例中, 每一个 BOOTROM对应的次数门限值可以相同或不相同, 本发明实施例不作限定。特别地,如果每一个 BOOTROM对应的次数门限值不 相同, 则可以通过次数门限值来识别与该次数门限值对应的 BOOTROM。
一个实施例中, 一个 BOOTROM可以对应的一个次数门限值区间, 这样该 BOOTROM可以对应一个以上的次数门限值。
其中, 若处理器通过第一 BOOTROM启动失败, 而且处理器通过第一 BOOTROM启动的失败次数小于 Flash中的第二 BOOTROM对应的次数门限 区 BOOTROM,由处理器重新执行上述步骤 302,再次尝试通过第一 BOOTROM 启动, 直到处理器通过第一 BOOTROM启动的失败次数大于或等于 Flash中的 第二 BOOTROM对应的次数门限值时,映射单元才将处理器的启动地址映射至 Flash中的第二启动引导区 BOOTROM , 由处理器重尝试通过第二 BOOTROM 启动。
3 )、 处理器执行第二 BOOTROM中的 Boot Strap程序进行内部初始化, 以 及将第二 BOOTROM中的 Boot Strap程序复制到 DDR SDRAM低端内存, 并跳 转到 DDR SDRAM低端内存执行第二 BOOTROM中的 Boot Strap程序; 以及将 第二 BOOTROM的压缩程序 Zipped BootRom解压缩到 DDR SDRAM高端内存, 并跳转到 DDR SDRAM高端内存执行第二 BOOTROM的压缩程序 Zipped BootRom对应的解压缩程序 UnZipped BootRom; 以及将 Flash中文件系统区的 正式映像 Run Image加载到 DDR SDRAM的 Run Image区, 并跳转到 DDR SDRAM的 Run Image区执行 Run Image , 实现处理器正常启动。
本发明实施例中, 由于 Flash中每一个 BOOTROM中均保存有压缩程序 Zipped BootRom和 Boot Strap程序, 从而在实现 BOOTROM备份的同时, 也对 Boot Strap程序进行备份, 使得处理器通过第一 BOOTROM启动的失败次数值 大于或等于第二 BOOTROM对应的次数门限值时, 处理器可以从第二 BOOTROM的 Boot Strap程序启动, 从而可以提高处理器启动的可靠性。
一个实施例中, 处理器通过第二 BOOTROM启动时, CPU可以对启动失败 的第一 BOOTROM进行升级修复, 并发送清除指令给映射单元,使映射单元根 据该清除指令清除处理器通过第一 BOOTROM启动的失败次数,以使处理器可 以再次从第一 BOOTROM执行 BOOTROM程序, 来引导正式映像 Run Image实 现启动。
一个实施例中, 处理器可以为 CPU, 映射单元可以内置在 CPU中, 从而可 以筒化硬件外围设计和降低成本。
请参阅图 4, 图 4为本发明实施例提供的一种处理器启动装置的结构示意 图。 如图 4所示, 该装置可以包括:
处理器一401、 映射单元一402、 闪存 Flash— 403以及 DDR SDRAM— 404; 其中, 处理器一 401用于发送启动地址给映射单元一 402;
映射单元一 402包括地址映射模块一 4021 ,用于接收处理器一 401发送的启 动地址, 并将处理器一 401的启动地址映射至 Flash— 403中的第一启动引导区 BOOTROM;
处理器一 401 ,还用于执行第一 BOOTROM中的 Boot Strap程序进行内部初 始化, 以及将第一 BOOTROM中的 Boot Strap程序复制到 DDR SDRAM— 404低 端内存, 并跳转到 DDR SDRAM— 404低端内存执行第一 BOOTROM中的 Boot Strap程序 (如图 4所示的步骤 a ); 以及将第一 BOOTROM的压缩程序 Zipped BootRom解压缩到 DDR SDRAM— 404高端内存, 并跳转到 DDR SDRAM— 404 高端内存执行第一 BOOTROM的压缩程序 Zipped BootRom对应的解压缩程序 UnZipped BootRom (如图 4所示的步骤 b、 c ); 以及将 Flash— 403中文件系统区 的正式映像 Run Image加载到 DDR SDRAM— 404的 Run Image区, 并跳转到 DDR SDRAM— 404的 Run Image区执行上述 Run Image (如图 4所示的步骤 d、 e ), 从而实现处理器启动;
其中, Flash— 403中存在至少二个 BOOTROM, 而且每一个 BOOTROM中 均保存有压缩程序 Zipped BootRom和 Boot Strap程序。
本发明实施例中, 第一启动引导区 BOOTROM可以是 Flash— 403中的任意 一个 BOOTROM, 并非是 Flash— 403中序号最小的第一个 BOOTROM。 后续的 第二 BOOTROM也仅仅是一个相对于第一 BOOTROM的概念, 可以是 Flash— 403中除了上述第一 BOOTROM之外的任意一个 BOOTROM, 并非是 Flash— 403中序号第二小的第二个 BOOTROM。
其中, 处理器一 401执行第一 BOOTROM中的 Boot Strap程序进行内部初始 化可以包括 PLL、 MMU、 DDRC等初始化。
一个实施例中, 映射单元一 402还可以包括:
计数器模块一 4022,用于在处理器一 401通过第一 BOOTROM启动失败时, 累计处理器一 401通过第一 BOOTROM启动的失败次数。
其中, 导致处理器一 401通过第一 BOOTROM启动失败的因素已经在前面 实施例中进行了详细介绍, 本发明实施例此处不作复述。
识别模块一 4023, 用于识别处理器一 401通过第一 BOOTROM启动的失败 次数是否大于或等于 Flash— 403中的第二 BOOTROM对应的次数门限值;
地址映射模块一4021 ,还用于在识别模块一 4023的识别结果为是时,将处 理器一401的启动地址映射至 Flash— 403中的第二 BOOTROM;
相应地,处理器一401还用于执行 Flash— 403中的第二 BOOTROM中的 Boot Strap程序进行内部初始化, 以及将第二 BOOTROM中的 Boot Strap程序复制到 DDR SDRAM— 404低端内存,并跳转到 DDR SDRAM— 404低端内存执行第二 BOOTROM中的 Boot Strap程序(如图 4所示的步骤 a, ); 以及将第二 BOOTROM 的压缩程序 Zipped BootRom解压缩到 DDR SDRAM— 404高端内存, 并跳转到 DDR SDRAM— 404高端内存执行第二 BOOTROM的压缩程序 Zipped BootRom 对应的解压缩程序 UnZipped BootRom (如图 4所示的步骤 b,、 c, ); 以及将 Flash ― 403中文件系统区的正式映像 Run Image加载到 DDR SDRAM― 404的 Run Image区, 并跳转到 DDR SDRAM— 404的 Run Image区执行上述 Run Image (如 图 4所示的步骤 d、 e ), 实现处理器一 401正常启动。
一个实施例中, 映射单元一 402还可以包括:
计数器置数模块一 4024, 用于接收处理器一 401发送的控制命令, 并根据 处理器一 401的控制命令设置 Flash— 403中每一个 BOOTROM对应的次数门限 值; 其中, 每一个 BOOTROM对应的次数门限值为一个或一个以上。
一个实施例中, 每一个 BOOTROM对应的次数门限值可以相同或不相同, 本发明实施例不作限定。特别地,如果每一个 BOOTROM对应的次数门限值不 相同, 则识别模块一 4023可以通过次数门限值来识别与次数门限值对应的 BOOTROM。
一个实施例中, 一个 BOOTROM可以对应的一个次数门限值区间, 这样该
BOOTROM可以对应一个以上的次数门限值。
其中, 若处理器一 401通过第一 BOOTROM启动失败, 而且处理器一 401 通过第一 BOOTROM启动的失败次数小于 Flash— 403中的第二 BOOTROM对 应的次数门限值, 则映射单元一 402再次将处理器一 401的启动地址映射至 Flash— 403中的第一启动引导区 BOOTROM, 由处理器一401再次尝试通过第 一 BOOTROM启动, 直到处理器一401通过第一 BOOTROM启动的失败次数大 于或等于 Flash— 403中的第二 BOOTROM对应的次数门限值时, 映射单元一 402将处理器一 401的启动地址映射至 Flash— 403中的第二启动引导区 BOOTROM , 由处理器一 401重尝试通过第二 BOOTROM启动。
一个实施例中, 计数器置数模块一 4024还用于接收处理器一 401发送的清 除指令, 清除处理器一 401通过 Flash— 403中的第一 BOOTROM启动的失败次 数。
本发明实施例中, Flash— 403中的第一、 第二 BOOTROM中均保存有压缩 程序 Zipped BootRom和 Boot Strap程序, 第一、 第二 BOOTROM地位是完全对 等的。正常情况下, 映射单元一 402通过其地址映射模块一4021将处理器一 401 的启动地址映射到其中的第一 BOOTROM (作为主用 BOOTROM ); 当处理器 —401通过第一 BOOTROM启动失败时,映射单元一402中的计数器模块一4022 会记录失败次数, 当映射单元一 402中的识别模块一 4023识别出处理器一 401 通过第一 BOOTROM启动的失败次数大于或等于第二 BOOTROM对应的次数 门限值时, 地址映射模块一 4021将处理器一 401的启动地址映射到第二 BOOTROM (作为备用 BOOTROM ) , 待正式映像 Run Image加载到 DDR SDRAM— 404的 Run Image区实现处理器一401正常启动后, 处理器一401可以 启动失败的第一 BOOTROM进行升级修复, 同时通过计数器置数模块一 4024 清除处理器一 401通过第一 BOOTROM启动的失败次数值, 以使处理器一 401 可以再次从第一 BOOTROM执行 BOOTROM程序, 来引导映像 Run Image实现 处理器一 401启动。
一个实施例中, 可以如图 5所示, 对 Flash— 403进行扩展, 使得 Flash— 403 中存在 n个 BOOTROM区, 各 BOOTROM地位对等, 而且彼此独立; 映射单元 一 402中的计数器模块一 4022计数值区间分配对应给 n个 BOOTROM。 当 BOOTROM0损坏后,映射单元一402中的地址映射模块一4021可以将处理器一 401的启动地址映射到 B00TR0M1 ; 当 B00TR0M1损坏后, 地址映射模块一 4021可以将处理器一 401的启动地址映射到 B00TR0M2; 以此类推,从而可以 在 n个 BOOTROM备份的同时实现处理器一401的启动。
一个实施例中, 可以如图 5所示, 对 Flash— 403进行扩展, 使得 Flash— 403 中存在 n个 BOOTROM区, 各 BOOTROM地位对等, 而且彼此独立; 映射单元 一 402中的计数器模块一 4022计数值区间分配对应给 n个 BOOTROM。处理器一 401可以通过计数器置数模块一 4024, 修改计数器模块一 4022的计数值, 让其 指向某个特定 BOOTROM, 然后热复位处理器一 401 , 以使处理器一 401可以从 特定 BOOTROM启动, 满足某些特定场景的应用需求。
一个实施例中, 可以如图 6所示, 对处理器一 401进行扩展, 使得映射单元 —402内置到处理器一401内部,从而可以在达到 BOOTROM的备份、切换的同 时, 不需要外部加硬件电路实现映射单元一 402, 从而筒化硬件外围设计, 降 低了成本。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可 以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存 储介质中, 该程序在执行时, 执行包括上述方法实施例的步骤; 而前述的存储 介质包括:只读存储器( Read-Only Memory, ROM )、随机存取存储器 ( Random Access Memory, RAM ), 磁碟或者光盘等各种可以存储程序代码的介质。 以上对本发明实施例所提供的一种处理器启动方法及装置进行了详细介 例的说明只是用于帮助理解本发明的方法及其核心思想; 同时,对于本领域的 一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变 之处, 综上所述, 本说明书内容不应理解为对本发明的限制。

Claims

权 利 要 求
1、 一种处理器启动方法, 其特征在于, 包括:
映射单元接收处理器发送的启动地址,并将所述处理器的启动地址映射至 闪存 Flash中的第一启动引导区 BOOTROM;
所述处理器执行所述第一 BOOTROM中的起始区域 Boot Strap程序进行 内部初始化, 以及将所述第一 BOOTROM中的 Boot Strap程序复制到双倍速 率同步动态随机存储器 DDR SDRAM低端内存, 并跳转到所述 DDR SDRAM 低端内存执行所述第一 BOOTROM 中的 Boot Strap程序; 以及将所述第一 BOOTROM的压缩程序 Zipped BootRom解压缩到所述 DDR SDRAM高端内 存,并跳转到所述 DDR SDRAM高端内存执行所述第一 BOOTROM的压缩程 序 Zipped BootRom对应的解压缩程序 UnZipped BootRom; 以及将所述 Flash 中文件系统区的正式映像 Run Image加载到所述 DDR SDRAM的 Run Image 区, 并跳转到所述 DDR SDRAM的 Run Image区执行所述 Run Image;
所述闪存 Flash中存在至少二个 BOOTROM, 而且每一个 BOOTROM中 均保存有压缩程序 Zipped BootRom和 Boot Strap程序。
2、 根据权利要求 1所述的方法, 其特征在于, 若所述处理器通过所述第 一 BOOTROM启动失败, 所述方法还包括:
所述映射单元累计所述处理器通过所述第一 BOOTROM 启动的失败次 数;
若所述处理器通过所述第一 BOOTROM启动的失败次数大于或等于所述
Flash中的第二 BOOTROM对应的次数门限值,则所述映射单元将所述处理器 的启动地址映射至所述第二 BOOTROM;
所述处理器执行所述第二 BOOTROM中的 Boot Strap程序进行内部初始 化,以及将所述第二 BOOTROM中的 Boot Strap程序复制到所述 DDR SDRAM 低端内存,并跳转到所述 DDR SDRAM低端内存执行所述第二 BOOTROM中 的 Boot Strap程序; 以及将所述第二 BOOTROM的压缩程序 Zipped BootRom 解压缩到所述 DDR SDRAM高端内存, 并跳转到所述 DDR SDRAM高端内存 执行所述第二 BOOTROM 的压缩程序 Zipped BootRom对应的解压缩程序 UnZipped BootRom; 以及执行所述将所述 Flash中文件系统区的正式映像 Run Image加载到所述 DDR SDRAM的 Run Image区,并跳转到所述 DDR SDRAM 的 Run Image区执行所述 Run Image的过程。
3、 根据权利要求 2所述的方法, 其特征在于, 所述方法还包括: 所述映射单元接收所述处理器发送的控制指令,并根据所述控制指令设置 所述 Flash中每一个 BOOTROM对应的次数门限值;其中,每一个 BOOTROM 对应的次数门限值为一个或一个以上。
4、 根据权利要求 3所述的方法, 其特征在于, 所述方法还包括: 所述映射单元接收所述处理器发送的清除指令,清除所述处理器通过所述 第一 BOOTROM启动的失败次数。
5、 根据权利要求 1~4任意一项所述的方法, 其特征在于, 所述处理器为 中央处理器, 所述映射单元内置在所述中央处理器中。
6、 一种处理器启动装置, 其特征在于, 包括:
处理器、 映射单元、 闪存 Flash 以及双倍速率同步动态随机存储器 DDR SDRAM;
所述处理器, 用于发送启动地址给所述映射单元;
所述映射单元包括地址映射模块, 用于接收所述处理器发送的启动地址, 并将所述处理器的启动地址映射至所述 Flash 中的第一启动引导区 BOOTROM;
所述处理器, 还用于执行所述第一 BOOTROM中的起始区域 Boot Strap 程序进行内部初始化, 以及将所述第一 BOOTROM中的 Boot Strap程序复制 到所述 DDR SDRAM低端内存,并跳转到所述 DDR SDRAM低端内存执行所 述第一 BOOTROM中的 Boot Strap程序; 以及将所述第一 BOOTROM的压缩 程序 Zipped BootRom解压缩到所述 DDR SDRAM高端内存, 并跳转到所述 DDR SDRAM高端内存执行所述第一 BOOTROM的压缩程序 Zipped BootRom 对应的解压缩程序 UnZipped BootRom;以及将所述 Flash中文件系统区的正式 映像 Run Image加载到所述 DDR SDRAM的 Run Image区,并跳转到所述 DDR SDRAM的 Run Image区执行所述 Run Image;
其中, 所述 Flash中存在至少二个 BOOTROM, 而且每一个 BOOTROM 中均保存有压缩程序 Zipped BootRom和 Boot Strap程序。
7、 根据权利要求 6所述的装置, 其特征在于, 所述映射单元还包括: 计数器模块, 用于在所述处理器通过所述第一 BOOTROM启动失败时, 累计所述处理器通过所述第一 BOOTROM启动的失败次数;
识别模块, 用于识别所述处理器通过所述第一 BOOTROM启动的失败次 数是否大于或等于所述 Flash中的第二 BOOTROM对应的次数门限值;
所述地址映射模块,还用于在所述识别模块的识别结果为是时,将所述处 理器的启动地址映射至所述第二 BOOTROM;
所述处理器, 用于执行所述第二 BOOTROM中的 Boot Strap程序进行内 部初始化, 以及将所述第二 BOOTROM中的 Boot Strap程序复制到所述 DDR SDRAM 氐端内存, 并跳转到所述 DDR SDRAM 氐端内存执行所述第二 BOOTROM 中的 Boot Strap程序; 以及将所述第二 BOOTROM的压缩程序 Zipped BootRom解压缩到所述 DDR SDRAM高端内存, 并跳转到所述 DDR SDRAM高端内存执行所述第二 BOOTROM的压缩程序 Zipped BootRom对应 的解压缩程序 UnZipped BootRom;以及将所述 Flash中文件系统区的正式映像 Run Image加载到所述 DDR SDRAM的 Run Image区, 并跳转到所述 DDR SDRAM的 Run Image区执行所述 Run Image。
8、 根据权利要求 6所述的装置, 其特征在于, 所述映射单元还包括: 计数器置数模块, 用于接收所述处理器发送的控制命令, 并根据所述控制 命令设置所述 Flash中每一个 BOOTROM对应的次数门限值; 其中, 每一个 BOOTROM对应的次数门限值为一个或一个以上。
9、 根据权利要求 8所述的装置, 其特征在于, 所述计数器置数模块还用 于接收所述处理器发送的清除指令, 清除所述处理器通过所述第一 BOOTROM启动的失败次数。
10、根据权利要求 6~9任意一项所述的装置, 其特征在于, 所述处理器为 中央处理器, 所述映射单元内置在所述中央处理器中。
PCT/CN2011/080215 2011-09-27 2011-09-27 一种处理器启动方法及装置 WO2012149774A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2011/080215 WO2012149774A1 (zh) 2011-09-27 2011-09-27 一种处理器启动方法及装置
CN201180001800.XA CN102388365B (zh) 2011-09-27 2011-09-27 一种处理器启动方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/080215 WO2012149774A1 (zh) 2011-09-27 2011-09-27 一种处理器启动方法及装置

Publications (1)

Publication Number Publication Date
WO2012149774A1 true WO2012149774A1 (zh) 2012-11-08

Family

ID=45826489

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/080215 WO2012149774A1 (zh) 2011-09-27 2011-09-27 一种处理器启动方法及装置

Country Status (2)

Country Link
CN (1) CN102388365B (zh)
WO (1) WO2012149774A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103605536B (zh) * 2013-11-06 2017-04-26 华为技术有限公司 一种嵌入式操作系统的启动方法、装置及基板管理控制器
CN104915226B (zh) * 2015-05-21 2018-12-14 北京星网锐捷网络技术有限公司 一种网络设备软件启动方法、装置及网络设备
CN105677348A (zh) * 2016-01-04 2016-06-15 青岛海信信芯科技有限公司 一种boot程序的存储方法及装置、启动方法及装置
CN108701036A (zh) * 2016-02-23 2018-10-23 华为技术有限公司 一种启动Boot的方法、CPU及单板
CN106407156B (zh) * 2016-09-23 2018-11-23 深圳震有科技股份有限公司 一个bootrom引导多核cpu启动的方法及系统
CN109614798B (zh) * 2017-09-30 2022-12-27 华为技术有限公司 安全启动方法、装置及终端设备
CN113535238B (zh) * 2020-04-15 2024-02-02 浙江宇视科技有限公司 一种针对ddr的兼容方法、装置、存储介质及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101118494A (zh) * 2006-08-01 2008-02-06 环达电脑(上海)有限公司 嵌入式设备从外接电子卡启动操作系统的系统与方法
CN101140519A (zh) * 2006-09-04 2008-03-12 广达电脑股份有限公司 嵌入式系统及其开机程序码自动备份方法
CN101192166A (zh) * 2006-11-29 2008-06-04 英业达股份有限公司 电脑平台初始化程序代码损毁备援处理方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058797B2 (en) * 2002-09-10 2006-06-06 Veritas Operating Corporation Use of off-motherboard resources in a computer system
CN100472449C (zh) * 2007-08-14 2009-03-25 中兴通讯股份有限公司 使用双Bootrom启动引导CPU的工程应用方法和装置
CN101178661B (zh) * 2007-12-14 2010-06-02 华为技术有限公司 Flash集成bootrom的实现方法和装置
CN102033790B (zh) * 2010-12-15 2015-06-03 中兴通讯股份有限公司 一种嵌入式系统bootrom的升级方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101118494A (zh) * 2006-08-01 2008-02-06 环达电脑(上海)有限公司 嵌入式设备从外接电子卡启动操作系统的系统与方法
CN101140519A (zh) * 2006-09-04 2008-03-12 广达电脑股份有限公司 嵌入式系统及其开机程序码自动备份方法
CN101192166A (zh) * 2006-11-29 2008-06-04 英业达股份有限公司 电脑平台初始化程序代码损毁备援处理方法及系统

Also Published As

Publication number Publication date
CN102388365A (zh) 2012-03-21
CN102388365B (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
WO2012149774A1 (zh) 一种处理器启动方法及装置
US9471435B2 (en) Information processing device, information processing method, and computer program
US8601255B2 (en) Approaches for updating bios
US10303459B2 (en) Electronic system with update control mechanism and method of operation thereof
US20170039075A1 (en) Rapid start up method for electronic equipment
US20060107031A1 (en) Portable terminal
US20040158702A1 (en) Redundancy architecture of computer system using a plurality of BIOS programs
US9658863B2 (en) Information processing apparatus and control method therefor
WO2016206514A1 (zh) 启动处理方法及装置
WO2016101519A1 (zh) 一种实现操作系统重启的方法和装置
US20090271660A1 (en) Motherboard, a method for recovering the bios thereof and a method for booting a computer
TW201502764A (zh) 用以從睡眠狀態加速回復之專用啟動路徑
CN107766102B (zh) 双基本输出入系统(bios)的开机方法及具有其的电子装置
US10909247B2 (en) Computing device having two trusted platform modules
US20130061090A1 (en) Partial rebooting recovery apparatus and method
JP2009187134A (ja) 情報処理装置、情報処理装置の起動制御方法、プログラム及び記録媒体
TWI441081B (zh) 更新韌體方法與開機方法及使用其之電子裝置
TW201232401A (en) BIOS updating system and method, computer readable recording medium having BIOS updating program stored therein, and its computer program products
CN115237644B (zh) 系统故障处理方法、中央运算单元以及车辆
US20220308963A1 (en) Method and apparatus for providing recovery from a computing device boot up error
CN113867807A (zh) 一种缩短服务器上电时间的方法、装置、设备和存储介质
WO2021012170A1 (zh) 固件启动方法、设备及计算机可读存储介质
CN111078303B (zh) 一种优化uefi引导开机启动的方法及装置
CN112817642A (zh) X86平台使用固件自动切换启动efi操作系统的方法、装置
JP2003044284A (ja) コンピュータ装置の起動方法および起動用プログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180001800.X

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11864679

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

Country of ref document: EP

Kind code of ref document: A1