CN110515664A - 系统的启动方法及装置 - Google Patents
系统的启动方法及装置 Download PDFInfo
- Publication number
- CN110515664A CN110515664A CN201910687325.4A CN201910687325A CN110515664A CN 110515664 A CN110515664 A CN 110515664A CN 201910687325 A CN201910687325 A CN 201910687325A CN 110515664 A CN110515664 A CN 110515664A
- Authority
- CN
- China
- Prior art keywords
- data
- log
- judging
- unit
- information database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000003860 storage Methods 0.000 claims abstract description 71
- 230000002159 abnormal effect Effects 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 14
- 108010001267 Protein Subunits Proteins 0.000 claims description 8
- 239000007858 starting material Substances 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 abstract description 7
- 230000004048 modification Effects 0.000 abstract description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2291—User-Defined Types; Storage management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种系统的启动方法及装置,该方法包括:接收中央处理器发出的上电指令,读取存储卡中信息数据库中的启动数据;判断所述信息数据库中的启动数据是否正常;若判断出所述信息数据库中的启动数据不正常,则判断备用信息数据库中的启动数据是否正常;若判断出所述备用信息数据库中的启动数据正常,则将所述备用信息数据库中的启动数据搬移至内存中;根据所述内存中的启动数据,引导操作系统启动。通过在判断出信息数据库的启动数据不正常时,启用备用信息数据库中的启动数据,从而达到了在SD card中的系统启动文件所在区域存在着物理坏道,或者因为启动程序读出的SD card中的系统启动文件需要修改/升级时,依然可以正常启动CPU的目的。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种系统的启动方法及装置。
背景技术
随着人们科学水平的提高,计算机已经成为了人们生活中必不可少的一个设备,同时,人们对计算机中的中央处理器(Central Processing Unit,CPU)的要求也变得越来越高,CPU是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。
传统的CPU,是利用存储卡(Secure Digital Memory Card,SD card)引导进行启动的,但是在利用SD card对CPU进行引导的过程中,会因为SD card中的系统启动文件所在区域存在着物理坏道或者因为启动程序读出的SD card中的系统启动文件需要修改/升级,导致启动程序读出的SD card中的系统启动文件有错误或者根本无法读出SD card中的系统启动文件,从而导致CPU无法正常启动。
发明内容
有鉴于此,本发明实施例提供一种系统的启动方法及装置,用于在SD card中的系统启动文件所在区域存在着物理坏道,或者因为启动程序读出的SD card中的系统启动文件需要修改/升级时,正常启动CPU。
为实现上述目的,本发明实施例提供如下技术方案:
一种系统的启动方法,包括:
接收中央处理器发出的上电指令,读取存储卡中信息数据库中的启动数据;
判断所述信息数据库中的启动数据是否正常;
若判断出所述信息数据库中的启动数据不正常,则判断备用信息数据库中的启动数据是否正常;
若判断出所述备用信息数据库中的启动数据正常,则将所述备用信息数据库中的启动数据搬移至内存中;
根据所述内存中的启动数据,引导操作系统启动。
可选的,所述判断所述信息数据库中的启动数据是否正常,包括:
根据所述信息数据库中的启动数据中的启动信息,对所述存储卡进行配置,得到第一配置数据;
判断所述第一配置数据与所述上电指令中的预设配置数据是否一致;
其中:若判断出所述第一配置数据与所述上电指令中的预设数据不一致,则说明所述信息数据库中的启动数据不正常。
可选的,所述判断所述第一配置数据与所述上电指令中的预设配置数据是否一致之后,还包括:
若判断出所述第一配置数据与所述上电指令中的预设数据一致,则判断所述信息数据库中的启动数据中的系统启动文件是否正常;
若判断出所述信息数据库中的启动数据中的系统启动文件不正常,则执行所述判断备用信息数据库中的启动数据是否正常;
若判断出所述信息数据库中的启动数据中的系统启动文件正常,则将所述信息数据库中的启动数据搬移至内存中。
可选的,所述判断所述备用信息数据库中的启动数据是否正常,包括:
根据所述备用信息数据库中的启动数据中的启动信息,对所述存储卡进行配置,得到第二配置数据;
判断所述第二配置数据与所述上电指令中的预设配置数据是否一致;
其中:若判断出所述第二配置数据与所述上电指令中的预设数据一致,则说明所述备用信息数据库中的启动数据正常。
可选的,所述判断所述第二配置数据与所述上电指令中的预设配置数据是否一致之后,还包括:
若判断出所述第二配置数据与所述上电指令中的预设配置数据一致,则判断所述备用信息数据库中的启动数据中的系统启动文件是否正常;
若判断出所述备用信息数据库中的启动数据中的系统启动文件正常,则将所述备用信息数据库中的启动数据搬移至内存中。
一种系统的启动装置,包括:
接收单元,用于接收中央处理器发出的上电指令,读取存储卡中信息数据库中的启动数据;
第一判断单元,用于判断所述信息数据库中的启动数据是否正常;
第二判断单元,用于若所述第一判断单元判断出所述信息数据库中的启动数据不正常,则判断备用信息数据库中的启动数据是否正常;
搬移单元,用于若所述第二判断单元判断出所述备用信息数据库中的启动数据正常,则将所述备用信息数据库中的启动数据搬移至内存中;
启动单元,用于根据所述内存中的启动数据,引导操作系统启动。
可选的,所述第一判断单元,包括:
第一配置单元,用于根据所述信息数据库中的启动数据中的启动信息,对所述存储卡进行配置,得到第一配置数据;
第一判断子单元,用于判断所述第一配置数据与所述上电指令中的预设配置数据是否一致;
其中:若所述第一判断子单元判断出所述第一配置数据与所述上电指令中的预设数据不一致,则说明所述信息数据库中的启动数据不正常。
可选的,所述第一判断子单元,还包括:
第三判断单元,用于若所述第一判断子单元判断出所述第一配置数据与所述上电指令中的预设数据一致,则判断所述信息数据库中的启动数据中的系统启动文件是否正常;
若所述第三判断单元判断出所述信息数据库中的启动数据中的系统启动文件不正常,则触发所述第二判断单元进行判断;
若所述第三判断单元判断出所述信息数据库中的启动数据中的系统启动文件正常,则触发所述搬移单元将所述信息数据库中的启动数据搬移至内存中。
可选的,所述第二判断单元,包括:
第二配置单元,用于根据所述备用信息数据库中的启动数据中的启动信息,对所述存储卡进行配置,得到第二配置数据;
第二判断子单元,用于判断所述第二配置数据与所述上电指令中的预设配置数据是否一致;
其中:若所述第二判断子单元判断出所述第二配置数据与所述上电指令中的预设数据一致,则说明所述备用信息数据库中的启动数据正常。
可选的,所述第二判断子单元,还包括:
第四判断单元,用于若所述第二判断子单元判断出所述第二配置数据与所述上电指令中的预设配置数据一致,则判断所述备用信息数据库中的启动数据中的系统启动文件是否正常;
若所述第四判断单元判断出所述备用信息数据库中的启动数据中的系统启动文件正常,则触发所述搬移单元将所述信息数据库中的启动数据搬移至内存中。
由以上方案可知,本申请提供的一种系统的启动方法及装置中,接收中央处理器发出的上电指令,读取存储卡中信息数据库中的启动数据;判断所述信息数据库中的启动数据是否正常;若判断出所述信息数据库中的启动数据不正常,则判断备用信息数据库中的启动数据是否正常;若判断出所述备用信息数据库中的启动数据正常,则将所述备用信息数据库中的启动数据搬移至内存中;根据所述内存中的启动数据,引导操作系统启动。通过在判断出信息数据库的启动数据不正常时,启用备用信息数据库中的启动数据,从而达到了在SD card中的系统启动文件所在区域存在着物理坏道,或者因为启动程序读出的SDcard中的系统启动文件需要修改/升级时,正常启动CPU的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种系统的启动方法的具体流程图;
图2为本发明另一实施例提供的一种系统的启动方法的具体流程图;
图3为本发明另一实施例提供的一种系统的启动方法的具体流程图;
图4为本发明另一实施例提供的一种系统的启动方法的具体流程图;
图5为本发明另一实施例提供的一种系统的启动方法的具体流程图;
图6为本发明另一实施例提供的一种系统的启动装置的示意图;
图7为本发明另一实施例提供的一种系统的启动装置的示意图;
图8为本发明另一实施例提供的一种系统的启动装置的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种系统的的启动方法,如图1所示,包括:
S101、接收中央处理器发出的上电指令,读取存储卡中信息数据库中的启动数据。
其中,中央处理器可以是传统的英特尔芯片和ARM芯片,也可以是最新的RISC-V芯片;存储卡中信息数据库中的启动数据包括:启动信息(也称之为SYS_INFO_0)和系统启动文件(也称之为SYS_DATA_0),其中,启动信息包括系统启动文件在存储卡存储位置的首个逻辑区块地址(Logical Block Address,LBA)编号、所在LBA数目和内存(Double DataRate SDRAM,DDR)搬移地址。
具体的,在中央处理器上电之后,首先运行固化在中央处理器芯片上的ROM的启动代码,即boot代码,boot代码中包括存储卡驱动,向存储卡发出包括存储卡驱动的上电指令,使得存储卡可以根据存储卡驱动中的存储卡协议要求,对存储卡进行上电,并初始化存储卡中的操作。在完成初始化存储卡中的操作后,读取存储卡中信息数据库中的启动数据。
S102、判断信息数据库中的启动数据是否正常。
具体的,可以通过在读取存储卡中信息数据库中的启动数据的过程中,数据能否正常返回来判断信息数据库中的启动数据是否正常。若判断出信息数据库中的数据正常,则直接将信息数据库中启动数据搬移至内存中,并根据更新后的内存中的启动数据,引导操作系统启动。
在本实施例的具体实现过程中,若判断出信息数据库中的启动数据不正常则执行步骤S103。
可选的,本发明的另一实施例中,步骤S102的一种实施方式,如图2所示,包括:
S201、根据信息数据库中的启动数据中的启动信息,对存储卡进行配置,得到第一配置数据。
具体的,根据信息数据库中的启动数据中的启动信息中的首个LBA编号、所在LBA的数目和DDR的搬移地址,对存储卡进行预先配置,得到存储卡配置后的数据。
S202、判断第一配置数据与上电指令中的预设配置数据是否一致。
具体的,可以根据循环冗余校核(Cyclic Redundancy Check,CRC)校验进行判断第一配置数据与上电指令中的预设配置数据是否一致。其中,预设的配置数据是在存储卡制作过程中,每512B进行一次CRC校验得到的数据,同样,通过对第一配置数据每512B进行一次CRC校验后得到的数据与预设的配置数据进行对比,若两个数值一致,则说明内存卡在读数据的过程中是正常的,即信息数据库中的启动数据正常;若两个数值不一致,则说明内存卡在读数据过程中是不正常的,即信息数据库中的启动数据不正常。
可选地,步骤S201之前,还可以执行以下步骤:
判断信息数据库中的启动数据中的启动信息是否正常返回;
具体的,如果判断出信息数据库中的启动数据中的启动信息能正常返回,在执行S201;如果判断出信息数据库中的启动数据中的启动信息不能正常返回,则说明在后续步骤S201中,信息数据库中的启动数据不正常。
可选的,本发明的另一实施例中,在步骤S202之后,如图3所示,还包括:
S301、若判断出第一配置数据与上电指令中的预设数据一致,则判断信息数据库中的启动数据中的系统启动文件是否正常。
其中,信息数据库中的启动数据中的系统启动文件,也可以有多个系统启动文件,且每个系统启动文件都相同,也可以理解为有一个主系统启动文件,其他系统启动文件均为主系统启动文件的备份,即备用系统启动文件。
需要说明的是,在判断出第一配置数据与上电指令中的预设数据一致后,为了保险起见,还可以判断信息数据库中的启动数据中的系统启动文件是否正常,同样,也可以通过判断在读取信息数据库中的启动数据中的系统启动文件的过程中,数据能否正常的返回,来判断信息数据库中的启动数据中的系统启动文件是否正常;若在读取信息数据库中的启动数据中的系统启动文件的过程中,数据能正常的返回,则说明信息数据库中的启动数据中的系统启动文件在传输的过程中是正常的;在判断出系统启动文件在传输的过程中是正常的后,还需要利用CRC校验的方法对系统启动文件进行再次校验,若CRC校验得到的数据与预设的配置数据完全一致,才能确定系统启动文件正常;若在读取信息数据库中的启动数据中的系统启动文件的过程中,数据不能正常的返回,则说明信息数据库中的启动数据中的系统启动文件不正常。
还需要说明的是,在制作存储卡时,可以将主系统启动文件和备用系统启动文件的位置放的尽量分离一些,进一步减少若出现物理坏块时的对存储卡的影响。
在本实施例的具体实现过程中,若判断出信息数据库中的启动数据中的系统启动文件不正常,则执行步骤S302;若判断出所述信息数据库中的启动数据中的系统启动文件正常,则执行步骤S303。
还需要说明的是,在信息数据库中,启动信息可以包括系统启动文件在存储卡存储位置的首个LBA编号、所在LBA数目和DDR搬移地址中,提出的系统启动文件也包括SYS_DATA_0和SYS_DATA_1。
在上述情况下,步骤S301中,判断信息数据库中的启动数据中的系统启动文件不正常,还可以利用信息数据库中的启动数据中的启动信息,获取备用信息数据库中的启动数据中的系统启动文件,即利用SYS_DATA_1在存储卡存储位置的首个LBA编号、所在LBA数目和DDR搬移地址,获取SYS_DATA_1文件。
如果利用信息数据库中的启动数据中的启动信息,无法获取到备用信息数据库中的启动数据中的系统启动文件,则执行S302。如果如果利用信息数据库中的启动数据中的启动信息,可以获取到备用信息数据库中的启动数据中的系统启动文件,则将备用信息数据库中的启动数据中的系统启动文件搬移至内存中。
S302、判断备用信息数据库中的启动数据是否正常。
其中,备用信息数据库可以为一个也可以为多个,具体情况根据存储卡的大小来定;同时,备用信息数据库中的数据与信息数据库中的数据完全一样。因此,备用信息数据库也包括:启动信息(也可以称之为SYS_INFO_1)和系统启动文件(也可以称之为SYS_DATA_1),其中,启动信息包括系统启动文件在存储卡存储位置的首个逻辑区块地址(LogicalBlock Address,LBA)编号、所在LBA数目和内存(Double Data Rate SDRAM,DDR)搬移地址。
并且,上述提出的系统启动文件包括SYS_DATA_0和SYS_DATA_1;同理,在信息数据库中,启动信息包括系统启动文件在存储卡存储位置的首个LBA编号、所在LBA数目和DDR搬移地址中,提出的系统启动文件也包括SYS_DATA_0和SYS_DATA_1。
再有,在存储卡划分得到信息数据库和备用信息数据库时,还需要将SYS_INFO_0、SYS_INFO_1、SYS_DATA_0、SYS_DATA_1的位置放的尽量分离的远些,进一步减少物理坏块的影响。
具体的,由于可以将存储卡划分为SYS_INFO_0、SYS_INFO_1、SYS_DATA_0、SYS_DATA_1,因此在存储卡中存在着物理坏道时,只需要避开物理坏道继续进行引导操作系统的启动,例如,当判断出SYS_INFO_0无法正常找到SYS_DATA_0和SYS_DATA_1所在地址,那么就使用SYS_INFO_1找到SYS_DATA_0和SYS_DATA_1,进而引导操作系统启动。在系统不需要使用时,可以对SYS_INFO_0进行排查,找到问题的原因,对应问题的原因进行修改。
还需要说明的是,现有技术中固化在中央处理器系统芯片上的ROM的启动信息中关于系统启动文件的位置、所占大小等,即上述系统启动文件在存储卡存储位置的首个LBA编号、所在LBA数目,是无法进行更改的,如果出现系统启动文件需要升级,而升级后的系统启动文件的存储位置出现变更,此时利用原有的启动信息中的启动文件在存储卡存储位置的首个LBA编号、所在LBA数目,就无法找到最新的系统启动文件的位置,以及所在LBA的数目也会出现偏差,此时就无法正常引导操作系统启动。
而本发明通过将启动信息(包括SYS_INFO_0和SYS_INFO_1)存入存储卡中,并将启动信息与系统启动文件(包括SYS_DATA_0和SYS_DATA_1)分离开来,使得在系统启动文件进行升级时,只需要对应更改在存储卡中启动信息,将存储卡中的启动信息更改为升级后的系统启动文件在存储卡存储位置的首个LBA编号、所在LBA数目和DDR搬移地址,就可以正常引导操作系统启动。
还需要说明的是,可以通过在读取存储卡中备用信息数据库中的启动数据的过程中,数据能否正常返回来判断备用信息数据库中的启动数据是否正常。
S303、将信息数据库中的启动数据搬移至内存中。
具体的,将信息数据库中的启动数据搬移至内存中,也可以理解为将信息数据库中的启动数据复制至内存中,以便后续内存根据信息数据库中的启动数据,引导操作系统启动。
S103、判断备用信息数据库中的启动数据是否正常。
其中,备用信息数据库可以为一个也可以为多个,具体情况根据存储卡的大小来定;同时,备用信息数据库中的数据与信息数据库中的数据完全一样。
需要说明的是,可以通过在读取存储卡中备用信息数据库中的启动数据的过程中,数据能否正常返回来判断备用信息数据库中的启动数据是否正常。
具体的,若判断出备用信息数据库中的启动数据正常,则执行步骤S104。
可选的,本发明的另一实施例中,步骤S103的一种实施方式,如图4所示,包括:
S401、根据备用信息数据库中的启动数据中的启动信息,对存储卡进行配置,得到第二配置数据。
具体的,根据备用信息数据库中的启动数据中的启动信息中的首个LBA编号、所在LBA的数目和DDR的搬移地址,对存储卡进行预先配置,得到存储卡配置后的数据。
S402、判断第二配置数据与上电指令中的预设配置数据是否一致。
具体的,可以根据CRC校验进行判断第二配置数据与上电指令中的预设配置数据是否一致。其中,预设的配置数据是在存储卡制作过程中,每512B进行一次CRC校验得到的数据,同样,通过对第二配置数据每512B进行一次CRC校验后得到的数据与预设的配置数据进行对比,若两个数值一致,则说明内存卡在读数据的过程中是正常的,即备用信息数据库中的启动数据正常;若两个数值不一致,则说明内存卡在读数据过程中是不正常的,即备用信息数据库中的启动数据不正常。
可选地,在步骤S401之前,还可以执行以下步骤:
判断信息数据库中的启动数据中的启动信息是否正常返回;
具体的,如果信息数据库中的启动数据中的启动信息能正常返回,则执行S401;如果信息数据库中的启动数据中的启动信息不能正常返回,则说明在后续步骤S401中,信息数据库中的启动数据不正常。
可选的,在本发明的另一实施例中,在步骤S402之后,还包括:
S501、若判断出第二配置数据与上电指令中的预设配置数据一致,则判断备用信息数据库中的启动数据中的系统启动文件是否正常。
其中,备用信息数据库中的启动数据中的系统启动文件,也可以有多个系统启动文件,且每个系统启动文件都相同,也可以理解为有一个主系统启动文件,其他系统启动文件均为主系统启动文件的备份,即备用系统启动文件。
需要说明的是,在判断出第二配置数据与上电指令中的预设数据一致后,为了保险起见,还可以判断备用信息数据库中的启动数据中的系统启动文件是否正常,同样,也可以通过判断在读取备用信息数据库中的启动数据中的系统启动文件的过程中,数据能否正常的返回,来判断备用信息数据库中的启动数据中的系统启动文件是否正常;若在读取备用信息数据库中的启动数据中的系统启动文件的过程中,数据能正常的返回,则说明备用信息数据库中的启动数据中的系统启动文件在传输的过程中是正常的;在判断出系统启动文件在传输的过程中是正常的后,还需要利用CRC校验的方法对系统启动文件进行再次校验,若CRC校验得到的数据与预设的配置数据完全一致,才能确定系统启动文件正常;若在读取备用信息数据库中的启动数据中的系统启动文件的过程中,数据不能正常的返回,则说明备用信息数据库中的启动数据中的系统启动文件不正常。
还需要说明的是,在制作存储卡时,可以将主系统启动文件和备用系统启动文件的位置放的尽量分离一些,进一步减少若出现物理坏块时的对存储卡的影响。
具体的,若判断出备用信息数据库中的启动数据中的系统启动文件正常,则执行步骤S502;若判断出备用信息数据库中的启动数据中的系统启动文件不正常,说明备用信息数据库中的启动数据中的系统启动文件所在区域存在着物理坏道,则启动无法继续进行,启动失败。
还需要说明的是,在备用信息数据库中,启动信息可以包括系统启动文件在存储卡存储位置的首个LBA编号、所在LBA数目和DDR搬移地址中,提出的系统启动文件也包括SYS_DATA_0和SYS_DATA_1。
在上述情况下,在步骤S501中,若判断出第二配置数据与上电指令中的预设配置数据一致,在执行判断备用信息数据库中的启动数据中的系统启动文件是否正常之前,还可以执行:
判断信息数据中的启动数据中的系统启动文件是否正常。
具体的,利用备用数据库中的启动数据中的启动信息,获取所述信息数据中的启动数据中的系统启动文件,即利用SYS_DATA_0在存储卡存储位置的首个LBA编号、所在LBA数目和DDR搬移地址,获取SYS_DATA_0文件。
如果利用备用信息数据库中的启动数据中的启动信息,无法获取到信息数据库中的启动数据中的系统启动文件,则执行判断备用信息数据库中的启动数据中的系统启动文件是否正常。
如果如果利用备用信息数据库中的启动数据中的启动信息,可以获取到信息数据库中的启动数据中的系统启动文件,则将信息数据库中的启动数据中的系统启动文件搬移至内存中。
S502、将备用信息数据库中的启动数据搬移至内存中。
具体的,将信息数据库中的启动数据搬移至内存中,也可以理解为将信息数据库中的启动数据复制至内存中,以便后续内存根据信息数据库中的启动数据,引导操作系统启动。
S104、将备用信息数据库中的启动数据搬移至内存中。
具体的,将信息数据库中的启动数据搬移至内存中,也可以理解为将信息数据库中的启动数据复制至内存中,以便后续内存根据信息数据库中的启动数据,引导操作系统启动。
S105、根据内存中的启动数据,引导操作系统启动。
由以上方案可知,本申请提供的一种系统的启动方法中,接收中央处理器发出的上电指令,读取存储卡中信息数据库中的启动数据;判断所述信息数据库中的启动数据是否正常;若判断出所述信息数据库中的启动数据不正常,则判断备用信息数据库中的启动数据是否正常;若判断出所述备用信息数据库中的启动数据正常,则将所述备用信息数据库中的启动数据搬移至内存中;根据所述内存中的启动数据,引导操作系统启动。通过在判断出信息数据库的启动数据不正常时,启用备用信息数据库中的启动数据,从而达到了在SD card中的系统启动文件所在区域存在着物理坏道,或者因为启动程序读出的SD card中的系统启动文件需要修改/升级时,依然可以正常启动CPU的目的。
本发明实施例提供一种系统的的启动装置,如图6所示,包括:
接收单元601,用于接收中央处理器发出的上电指令,读取存储卡中信息数据库中的启动数据。
第一判断单元602,用于判断信息数据库中的启动数据是否正常。
可选的,在本发明的另一实施例中,第一判断单元602的一种实施方式,如图7所示,包括:
第一配置单元701,用于根据信息数据库中的启动数据中的启动信息,对存储卡进行配置,得到第一配置数据。
第一判断子单元702,用于判断第一配置数据与上电指令中的预设配置数据是否一致。
具体的,若第一判断子单元702判断出第一配置数据与上电指令中的预设数据不一致,则说明信息数据库中的启动数据不正常。
本发明上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,如图2所示,此处不再赘述。
可选的,本发明的另一实施例中,第一判断子单元702的一种实施方式,还包括:
第三判断单元,用于若第一判断子单元702判断出第一配置数据与上电指令中的预设数据一致,则判断信息数据库中的启动数据中的系统启动文件是否正常。
具体的,若第三判断单元判断出信息数据库中的启动数据中的系统启动文件不正常,则触发第二判断单元603进行判断。
若第三判断单元判断出信息数据库中的启动数据中的系统启动文件正常,则触发搬移单元604将信息数据库中的启动数据搬移至内存中。
第二判断单元603,用于若第一判断单元602判断出信息数据库中的启动数据不正常,则判断备用信息数据库中的启动数据是否正常。
可选的,在本发明的另一实施例中,第二判断单元603的一种实施方式,如图8所示,包括:
第二配置单元801,用于根据备用信息数据库中的启动数据中的启动信息,对存储卡进行配置,得到第二配置数据。
第二判断子单元802,用于判断第二配置数据与上电指令中的预设配置数据是否一致。
具体的,若第二判断子单元802判断出第二配置数据与上电指令中的预设数据一致,则说明备用信息数据库中的启动数据正常。
本发明上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,如图4所示,此处不再赘述。
可选的,在本发明的另一实施例中,第二判断子单元802的一种实施方式,还包括:
第四判断单元,用于若第二判断子单元802判断出第二配置数据与上电指令中的预设配置数据一致,则判断备用信息数据库中的启动数据中的系统启动文件是否正常。
若第四判断单元判断出备用信息数据库中的启动数据中的系统启动文件正常,则触发搬移单元604将信息数据库中的启动数据搬移至内存中。
搬移单元604,用于若第二判断单元603判断出备用信息数据库中的启动数据正常,则将备用信息数据库中的启动数据搬移至内存中。
启动单元605,用于根据内存中的启动数据,引导操作系统启动。
本发明上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,如图1所示,此处不再赘述。
由以上方案可知,本申请提供的一种系统的启动装置中,通过接受单元601接收中央处理器发出的上电指令,读取存储卡中信息数据库中的启动数据;利用第一判断单元602判断所述信息数据库中的启动数据是否正常;若判断出所述信息数据库中的启动数据不正常,则利用第二判断单元603判断备用信息数据库中的启动数据是否正常;若判断出所述备用信息数据库中的启动数据正常,则利用搬移单元604将所述备用信息数据库中的启动数据搬移至内存中;根据所述内存中的启动数据,利用启动单元605引导操作系统启动。通过在判断出信息数据库的启动数据不正常时,启用备用信息数据库中的启动数据,从而达到了在SD card中的系统启动文件所在区域存在着物理坏道,或者因为启动程序读出的SDcard中的系统启动文件需要修改/升级时,正常启动CPU的目的。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种系统的启动方法,其特征在于,包括:
接收中央处理器发出的上电指令,读取存储卡中信息数据库中的启动数据;
判断所述信息数据库中的启动数据是否正常;
若判断出所述信息数据库中的启动数据不正常,则判断备用信息数据库中的启动数据是否正常;
若判断出所述备用信息数据库中的启动数据正常,则将所述备用信息数据库中的启动数据搬移至内存中;
根据所述内存中的启动数据,引导操作系统启动。
2.根据权利要求1所述的方法,其特征在于,所述判断所述信息数据库中的启动数据是否正常,包括:
根据所述信息数据库中的启动数据中的启动信息,对所述存储卡进行配置,得到第一配置数据;
判断所述第一配置数据与所述上电指令中的预设配置数据是否一致;
其中:若判断出所述第一配置数据与所述上电指令中的预设数据不一致,则说明所述信息数据库中的启动数据不正常。
3.根据权利要求2所述的方法,其特征在于,所述判断所述第一配置数据与所述上电指令中的预设配置数据是否一致之后,还包括:
若判断出所述第一配置数据与所述上电指令中的预设数据一致,则判断所述信息数据库中的启动数据中的系统启动文件是否正常;
若判断出所述信息数据库中的启动数据中的系统启动文件不正常,则执行所述判断备用信息数据库中的启动数据是否正常;
若判断出所述信息数据库中的启动数据中的系统启动文件正常,则将所述信息数据库中的启动数据搬移至内存中。
4.根据权利要求1所述的方法,其特征在于,所述判断所述备用信息数据库中的启动数据是否正常,包括:
根据所述备用信息数据库中的启动数据中的启动信息,对所述存储卡进行配置,得到第二配置数据;
判断所述第二配置数据与所述上电指令中的预设配置数据是否一致;
其中:若判断出所述第二配置数据与所述上电指令中的预设数据一致,则说明所述备用信息数据库中的启动数据正常。
5.根据权利要求4所述的方法,其特征在于,所述判断所述第二配置数据与所述上电指令中的预设配置数据是否一致之后,还包括:
若判断出所述第二配置数据与所述上电指令中的预设配置数据一致,则判断所述备用信息数据库中的启动数据中的系统启动文件是否正常;
若判断出所述备用信息数据库中的启动数据中的系统启动文件正常,则将所述备用信息数据库中的启动数据搬移至内存中。
6.一种系统的启动装置,其特征在于,包括:
接收单元,用于接收中央处理器发出的上电指令,读取存储卡中信息数据库中的启动数据;
第一判断单元,用于判断所述信息数据库中的启动数据是否正常;
第二判断单元,用于若所述第一判断单元判断出所述信息数据库中的启动数据不正常,则判断备用信息数据库中的启动数据是否正常;
搬移单元,用于若所述第二判断单元判断出所述备用信息数据库中的启动数据正常,则将所述备用信息数据库中的启动数据搬移至内存中;
启动单元,用于根据所述内存中的启动数据,引导操作系统启动。
7.根据权利要求6所述的装置,其特征在于,所述第一判断单元,包括:
第一配置单元,用于根据所述信息数据库中的启动数据中的启动信息,对所述存储卡进行配置,得到第一配置数据;
第一判断子单元,用于判断所述第一配置数据与所述上电指令中的预设配置数据是否一致;
其中:若所述第一判断子单元判断出所述第一配置数据与所述上电指令中的预设数据不一致,则说明所述信息数据库中的启动数据不正常。
8.根据权利要求7所述的装置,其特征在于,所述第一判断子单元,还包括:
第三判断单元,用于若所述第一判断子单元判断出所述第一配置数据与所述上电指令中的预设数据一致,则判断所述信息数据库中的启动数据中的系统启动文件是否正常;
若所述第三判断单元判断出所述信息数据库中的启动数据中的系统启动文件不正常,则触发所述第二判断单元进行判断;
若所述第三判断单元判断出所述信息数据库中的启动数据中的系统启动文件正常,则触发所述搬移单元将所述信息数据库中的启动数据搬移至内存中。
9.根据权利要求6中所述的装置,其特征在于,所述第二判断单元,包括:
第二配置单元,用于根据所述备用信息数据库中的启动数据中的启动信息,对所述存储卡进行配置,得到第二配置数据;
第二判断子单元,用于判断所述第二配置数据与所述上电指令中的预设配置数据是否一致;
其中:若所述第二判断子单元判断出所述第二配置数据与所述上电指令中的预设数据一致,则说明所述备用信息数据库中的启动数据正常。
10.根据权利要求9所述的装置,其特征在于,所述第二判断子单元,还包括:
第四判断单元,用于若所述第二判断子单元判断出所述第二配置数据与所述上电指令中的预设配置数据一致,则判断所述备用信息数据库中的启动数据中的系统启动文件是否正常;
若所述第四判断单元判断出所述备用信息数据库中的启动数据中的系统启动文件正常,则触发所述搬移单元将所述信息数据库中的启动数据搬移至内存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910687325.4A CN110515664A (zh) | 2019-07-26 | 2019-07-26 | 系统的启动方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910687325.4A CN110515664A (zh) | 2019-07-26 | 2019-07-26 | 系统的启动方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110515664A true CN110515664A (zh) | 2019-11-29 |
Family
ID=68624782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910687325.4A Pending CN110515664A (zh) | 2019-07-26 | 2019-07-26 | 系统的启动方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110515664A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111142952A (zh) * | 2019-12-27 | 2020-05-12 | 杭州迪普科技股份有限公司 | 一种电子设备及一种操作系统启动方法 |
CN114003299A (zh) * | 2020-07-27 | 2022-02-01 | 中车株洲电力机车研究所有限公司 | 用于中央处理器的启动方法、装置及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662715A (zh) * | 2012-04-23 | 2012-09-12 | 深圳市掌讯通讯设备有限公司 | 一种嵌入式操作系统启动方法 |
-
2019
- 2019-07-26 CN CN201910687325.4A patent/CN110515664A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662715A (zh) * | 2012-04-23 | 2012-09-12 | 深圳市掌讯通讯设备有限公司 | 一种嵌入式操作系统启动方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111142952A (zh) * | 2019-12-27 | 2020-05-12 | 杭州迪普科技股份有限公司 | 一种电子设备及一种操作系统启动方法 |
CN114003299A (zh) * | 2020-07-27 | 2022-02-01 | 中车株洲电力机车研究所有限公司 | 用于中央处理器的启动方法、装置及系统 |
CN114003299B (zh) * | 2020-07-27 | 2024-04-09 | 中车株洲电力机车研究所有限公司 | 用于中央处理器的启动方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2146399C1 (ru) | Способ записи данных в энергонезависимое запоминающее устройство, способ использования устройства на интегральных схемах, устройство на интегральных схемах | |
KR100316981B1 (ko) | 플래시 메모리를 구비한 마이크로컴퓨터 및 플래시 메모리에 프로그램을 저장하는 방법 | |
CN109032632B (zh) | 一种fota升级方法、无线通信终端及存储介质 | |
US20070055969A1 (en) | System and method for updating firmware | |
CN105260215A (zh) | 一种u盘升级车载行车记录仪终端的方法 | |
CN103858107A (zh) | 安全恢复装置和方法 | |
CN102023908A (zh) | 一种引导程序备份方法及装置 | |
CN111240720A (zh) | 引导程序升级方法、装置及存储介质 | |
TW200941217A (en) | Data updating method, memory system and memory device | |
CN103761122A (zh) | 一种芯片固件的升级方法和系统 | |
US20150199190A1 (en) | System and method for updating firmware | |
CN106873990A (zh) | 嵌入式系统ram损坏模式下的多分区引导方法 | |
CN109062598A (zh) | 一种安全的ota升级方法及系统 | |
CN1971536A (zh) | 基本输入输出系统的纠错系统及方法 | |
CN111813428A (zh) | 终端固件的升级方法、装置、电子设备及存储介质 | |
CN102541469A (zh) | 固件存储系统中数据保护的方法、设备及系统 | |
CN109582332B (zh) | 互联网摄像机的系统升级方法及装置 | |
CN110515664A (zh) | 系统的启动方法及装置 | |
CN103092659A (zh) | 脱离仿真器支持环境的dsp软件升级系统及其升级方法 | |
CN108345464A (zh) | 一种安卓系统的启动方法及安卓车机 | |
CN107704258A (zh) | Uboot升级方法、系统及终端设备 | |
CN107566169A (zh) | 一种基于openwrt的固件升级方法及路由器 | |
US20210279048A1 (en) | System capable of upgrading firmware in background and method for upgrading firmware in background | |
CN103455750B (zh) | 一种嵌入式设备的高安验证方法及装置 | |
CN117687663B (zh) | 基于ota的分区动态调整方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191129 |