CN110018852B - 一种系统二级引导方法、设备及存储介质 - Google Patents
一种系统二级引导方法、设备及存储介质 Download PDFInfo
- Publication number
- CN110018852B CN110018852B CN201810022899.5A CN201810022899A CN110018852B CN 110018852 B CN110018852 B CN 110018852B CN 201810022899 A CN201810022899 A CN 201810022899A CN 110018852 B CN110018852 B CN 110018852B
- Authority
- CN
- China
- Prior art keywords
- bootstrap program
- program
- level
- boot
- primary
- 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.)
- Active
Links
Images
Classifications
-
- 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/4406—Loading of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种系统二级引导方法、设备及存储介质,其中,所述方法包括:当前启动片选信号所指的一级引导程序下载二级引导程序的压缩文件;所述一级引导程序将所述压缩文件的尾部与所述二级引导程序的存储空间的末地址对齐后,将所述压缩文件存储在所述二级引导程序的存储空间;所述一级引导程序解压所述压缩文件,得到解压文件;所述一级引导程序将所述解压文件的头部与所述首地址对齐后,将所述解压文件存储在所述二级引导程序的存储空间。
Description
技术领域
本发明涉及嵌入式技术,尤其涉及一种系统二级引导方法、设备及存储介质。
背景技术
在大型嵌入式系统中,系统版本的引导和加载是很重要的一个环节。一个大型嵌入式系统中,可能采集各种不同系列的中央处理器(Central Processing Unit,CPU)、网卡及扩展设备,要应对这种复杂的情况,引导系统本身也存在需要升级的可能。
为了使引导系统具有更好的可扩展性和升级灵活性,可以采用二级引导的方式。一级引导程序(BOOT)做的尽可能简单,占用容量小,只需要支持TFTP简单文件传输协议(Trivial File Transfer Protocol,TFTP)或文件传输协议(File Transfer Protocol,FTP)下载即可。使用BOOT加载一个二级引导程序(Virtual BOOT,VBOOT),VBOOT的功能要完备很多,占用的存储空间也更大。再由VBOOT加载整个系统版本的映像。
目前,大多没有对二级引导程序进行压缩。在大型嵌入设备整机上电时,大量CPU同时启动,同时从服务端获取二级引导程序。数据量大,对服务端产生较大压力,对内外部网络带宽也有较大影响。现有技术中也有对二级引导提及压缩的,但是压缩后的版本需要解压缩,压缩版本和解压缩版本并存的情况下,会占用额外的存储空间,造成资源的浪费。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种系统二级引导方法、设备及存储介质,能够让压缩文件和解压文件共用同一个存储空间,从而节省了网络带宽和存储空间,提高了系统启动的稳定性和速度。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种系统二级引导方法,所述方法包括:
当前启动片选信号所指的一级引导程序下载所述二级引导程序的压缩文件;
所述一级引导程序将所述压缩文件的尾部与所述二级引导程序的存储空间的末地址对齐后,将所述压缩文件存储在所述二级引导程序的存储空间;
所述一级引导程序解压所述压缩文件,得到解压文件;
本发明实施例提供一种嵌入式设备,所述设备至少包括:处理器和配置为存储可执行指令的存储介质,其中:
处理器配置为执行存储的可执行指令,所述可执行指令配置为执行上述的系统二级引导方法。
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述的系统二级引导方法。
本发明实施例提供了一种系统二级引导方法、设备及存储介质,其中,当前启动片选信号所指的一级引导程序下载所述二级引导程序的压缩文件;所述一级引导程序将所述压缩文件的尾部与所述二级引导程序的存储空间的末地址对齐后,将所述压缩文件存储在所述二级引导程序的存储空间;所述一级引导程序解压所述压缩文件,得到解压文件;所述一级引导程序将所述解压文件的头部与所述首地址对齐后,将所述解压文件存储在所述二级引导程序的存储空间。如此,通过让压缩文件和解压文件共用同一个存储空间,在节省网络带宽和节省存储空间方面,都取得了很大进步,达到了稳定快速引导系统的效果,不但节省了网络带宽和存储空间,而且提高了系统启动的稳定性和速度。
附图说明
在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。
图1为本发明实施例系统二级引导方法的实现流程示意图;
图2为本发明实施例启动双区一级引导程序的实现流程示意图;
图3为本发明实施例二级引导系统的实现流程示意图;
图4为本发明实施例双区BOOT一级引导设备示意图;
图5为本发明实施例节省存储空间的二级BOOT解压缩设备的组成结构示意图;
图6为本发明实施例系统的组成结构示意图;
图7为本发明实施例二级引导系统的实现流程示意图;
图8为本发明实施例嵌入式设备的组成结构示意图。
具体实施方式
一般地,一级引导程序BOOT需要存储在断电不丢失的闪存(FLASH)存储设备上,而二级引导程序可存储在断电数据即丢失的随机存取存储器(Random-Access Memory,RAM)上。通常RAM存储设备要比断电数据不丢失的存储设备便宜,这样就可以达到节约成本的目的。但是,对二级引导压缩后的版本需要解压缩,压缩版本和解压缩版本并存的情况下,会占用额外的存储空间,造成资源的浪费。
实施例一
本发明实施例提供一种系统二级引导方法,图1为本发明实施例系统二级引导方法的实现流程示意图,如图1所述,所述方法包括以下步骤:
步骤S101,一级引导程序下载二级引导程序的压缩文件。
这里,所述一级引导程序是当前启动片选信号所指的一级引导程序。
步骤S102,所述一级引导程序将所述压缩文件的尾部与二级引导程序的存储空间的末地址对齐后,将所述压缩文件存储在二级引导程序的存储空间。
步骤S103,所述一级引导程序解压所述压缩文件,得到解压文件。
步骤S104,所述一级引导程序将所述解压文件的头部与所述首地址对齐后,将所述解压文件存储在所述二级引导程序的存储空间。
这里,如果在步骤S102中,所述一级引导程序将所述压缩文件的尾部与二级引导程序的存储空间的末地址对齐后,将所述压缩文件存储在二级引导程序的存储空间,那么在步骤S104中,所述一级引导程序将所述解压文件的头部与所述首地址对齐后,将所述解压文件存储在所述二级引导程序的存储空间;
在本发明实施例提供的一种系统二级引导方法中,首先当前启动片选信号所指的一级引导程序下载二级引导程序的压缩文件;其次所述一级引导程序将所述压缩文件的尾部与所述二级引导程序的存储空间的末地址对齐后,将所述压缩文件存储在所述二级引导程序的存储空间;接下来,所述一级引导程序解压所述压缩文件,得到解压文件;最后所述一级引导程序将所述解压文件的头部与所述首地址或对齐后,将所述解压文件存储在所述二级引导程序的存储空间。如此,通过让压缩文件和解压文件共同一个存储空间,随着解压过程的进行,解压文件的尾部地址不断向后移动,即使解压文件的尾部地址覆盖到压缩文件的头部地址,也不会覆盖到未解压的有效数据。进而在节省网络带宽和节省存储空间方面,都取得了很大进步,达到了稳定快速引导系统的效果,节省了网络带宽和存储空间,提高了系统启动的稳定性和速度。
实施例二
发明实施例提供一种系统二级引导方法,图2为本发明实施例启动双区一级引导程序的实现流程示意图,如图2所示,所述方法包括以下步骤:
步骤S201,启动系统。
这里,嵌入式设备上电后,嵌入式系统启动。
步骤S202,EPLD启动第一一级引导程序。
步骤S203,EPLD判断所述第一一级引导程序的启动时间是否超过预设的第一时间阈值。
步骤S204,如果所述第一一级引导程序的启动时间未超过预设的第一时间阈值,所述EPLD将所述第一一级引导程序作为所述当前启动片选信号所指的一级引导程序。如果所述第一一级引导程序的启动时间超过预设的第一时间阈值,则进入步骤S205。
这里,所述EPLD将所述第一一级引导程序作为所述当前启动片选信号所指的一级引导程序,即表明一级引导程序启动成功。
步骤S205,所述EPLD将所述启动片选信号切换到第二一级引导程序,并启动所述第二一级引导程序。
步骤S206,EPLD判断所述第二一级引导程序的启动时间是否超过预设的第二时间阈值。
步骤S207,如果所述第二一级引导程序的启动时间未超过预设的第二时间阈值,所述EPLD将所述第二一级引导程序作为所述当前启动片选信号所指的一级引导程序;如果所述第二一级引导程序的启动时间超过预设的第二时间阈值,则回到步骤S201。
这里,如果所述第二一级引导程序的启动时间超过预设的第二时间阈值,所述EPLD触发设备重新启动系统。其中,上述的第一时间阈值与第二时间阈值可以相同,可以不同;例如第一时间阈值和第二时间阈值可以都设置为3秒(s);再如,第一时间阈值可以设置为3s,第二时间阈值可以设置为5s。
这里,所述EPLD将所述第二一级引导程序作为所述当前启动片选信号所指的一级引导程序,即表明一级引导程序启动成功。
步骤S208,一级引导程序下载二级引导程序的压缩文件。
这里,所述一级引导程序是当前启动片选信号所指的一级引导程序。
所述步骤S208,即一级引导程序下载二级引导程序的压缩文件,包括:所述一级引导程序通过TFTP协议或者FTP协议下载二级引导程序的压缩文件。其中,所述一级引导程序通过TFTP协议或者FTP协议下载二级引导程序的压缩文件,包括:如果一级引导程序启动主控CPU,则通过文件传输协议服务器或简单文件传输协议TFTP协议服务器FTP协议从嵌入式设备的后台服务器或者个人计算机(Personal Computer,PC)下载二级引导程序的压缩文件;其中,FTP服务器和TFTP服务器在嵌入式设备的后台服务器或者个人计算机PC上;如果一级引导程序启动非主控CPU,则通过TFTP协议或TFTP协议下载二级引导程序的压缩文件,其中,TFTP服务器和FTP服务器在主控CPU上。
步骤S209,所述一级引导程序将所述压缩文件的尾部与二级引导程序的存储空间的末地址对齐后,将所述压缩文件存储在二级引导程序的存储空间。
步骤S210,所述一级引导程序解压所述压缩文件,得到解压文件。
步骤S211,所述一级引导程序将所述解压文件的头部与所述首地址对齐后,将所述解压文件存储在所述二级引导程序的存储空间。
步骤S212,一级引导程序将二级引导程序的压缩文件解压完成后,启动所述二级引导程序,并由所述二级引导程序启动系统文件。
这里,所述一级引导程序启动所述二级引导程序,包括:所述一级引导程序跳转到所述二级引导程序的存储空间的首地址,从而启动所述二级引导程序。
在所述步骤S212中,所述二级引导程序启动系统文件,包括:
当一级引导程序用于启动主控CPU时,如果系统文件是从本地加载的,那么二级引导程序启动之后,直接启动系统文件;如果系统文件是从网络下载的,那么二级引导程序启动之后,通过FTP协议从后台下载系统文件到本地硬盘,从而启动系统文件。
当一级引导程序用于启动非主控CPU时,二级引导程序启动之后,通过FTP协议从主控CPU的FTP服务端下载非主控CPU所用的系统文件,从而启动系统文件。
本实施例提供了实现步骤S209的方法,即“所述一级引导程序将所述压缩文件的尾部与二级引导程序的存储空间的末地址对齐后,将所述压缩文件存储在二级引导程序的存储空间”的方法包括以下步骤:
步骤S291,被启动的一级引导程序获取二级引导程序的压缩文件的大小;
步骤S292,所述一级引导程序将所述末地址减去所述压缩文件的大小,得到存储所述压缩文件的头部的第一地址;
这里,所述末地址即为所述二级引导程序的存储空间的最高地址。
步骤S293,所述一级引导程序将所述压缩文件存储在所述第一地址与所述末地址之间。
在本发明实施例提供的系统二级引导方法中,通过片选信号,控制第一一级引导程序和第二一级引导程序,进行双区启动,提高了系统启动的稳定性。另外,通过让二级引导程序的压缩文件和解压文件共同一个存储空间,节省了网络带宽和存储空间,进而达到了稳定快速引导系统的效果,提高了系统启动的稳定性和速度。
实施例三
本发明实施例提供一种系统二级引导方法,解决了系统二级引导时会占用额外存储空间的问题。系统二级引导版本功能较多,占用空间较大,为了加快加载速度并节省网络带宽,需要对系统二级引导版本进行压缩。在系统一级引导将二级引导的压缩版本下载到本地后,对此版本解压时,会占用额外的存储空间。本发明实施例克服了对系统二级加载时占用额外空间的问题,提供了一种节约存储空间的系统二级引导方法和设备。
所述系统二级引导方法包括以下步骤:
步骤S11,系统上电,系统从当前片选所指的一级BOOT启动区启动。本发明中,为了保证系统启动的可靠性,一级BOOT采用了双区启动的模式。如果一个区BOOT版本出现故障,则可擦除可编辑逻辑器件(Erasable Programmable Logic Device,EPLD)将启动片选信号切换到另一个BOOT启动区继续启动。
步骤S12,判断当前一级BOOT是否启动成功,如果启动不成功,则由EPLD将片选信号切换至另一个一级BOOT启动区继续启动。如果启动成功,则跳转至S14。
步骤S13,判断当前片选信号所指的一级BOOT是否启动成功,如果启动不成功,则系统重启;如果启动成功,则进入第4步,继续加载VBOOT。
步骤S14,下载压缩后的VBOOT,存储到VBOOT存储区的尾部,采用尾部地址对齐存放的方式,即压缩文件的结尾放在存储区的最高地址位置。
步骤S15,对压缩的VOOT进行解压缩,解压时,解压后的数据采用头部地址对齐的方式,即解压后版本的头部存放在存储区的低地址位置。随着解压过程的进行,剩余压缩数据占用的空间越来越小,解压后的数据占用的空间越来越大,直到覆盖原来压缩数据头部所占空间。只要保证VBOOT存储区能够容纳解压后的版本大小,解压后的数据就不会覆盖到未解压的数据。采用这一方法,就可以达到节省VBOOT存储空间的目的。
本发明实施例通过片选信号,控制一级BOOT双区启动,提高了系统启动的稳定性;通过让压缩前版本和压缩后版本共用一块存储空间,在节省网络带宽和节省存储空间方面,都取得了很大进步,达到了稳定快速引导系统的效果,节省了网络带宽和存储空间,提高了系统启动的稳定性和速度。
下面结合附图和实施例对本发明的技术方案进一步详细阐述。
图3为本发明实施例二级引导系统的实现流程示意图,如图3所示,当本发明实施例提供的系统二级引导方法用于嵌入式系统内部非主控CPU的引导启动时,包括以下步骤:
步骤S301,系统上电。
步骤S302,EPLD从当前片选信号所指的BOOT区启动。
步骤S303,如果所述步骤S102启动成功,进入步骤S306;若所述步骤S302启动不成功,则进入步骤S104。
步骤S304,EPLD切换一级BOOT区片选信号,继续启动切换后的一级BOOT区。
步骤S305,如果所述步骤S304启动成功,进入步骤S306;若所述步骤S304启动不成功,则进入步骤S301。
当系统上电后,非主控CPU开始启动,如图4所示,所述步骤S302至S305,可以通过以下步骤实现:
步骤S401,EPLD将启动片选信号CS设置到一级BOOT的A区。
步骤S402,EPLD设置定时器。
步骤S403,如果步骤S402在规定的时间内没有启动成功,则EPLD将片选信号CS切换到一级BOOT的B区,继续引导过程。
这里,如果一级BOOT的B区引导仍然失败,则整个CPU小系统重启,即回到步骤S301。
步骤S306,一级BOOT启动后,先进入3秒定时器等待,判断是否人工配置BOOT;如果是人工配置BOOT,则进入步骤S307;如果不是人工配置BOOT,则进入步骤S308。
这里,所述步骤S306,即“判断是否人工配置BOOT,如果是人工配置BOOT,则进入步骤S307;如果不是人工配置BOOT,则进入步骤S308”,包括:判断是否有键盘输入,如果有键盘输入,则进入步骤S307;如果没有键盘输入,则进入步骤S308。
步骤S307,人工配置BOOT启动参数。
步骤S308,TFTP下载VBOOT版本,并存放在RAM存储设备中。
这里,所述步骤S308,TFTP下载VBOOT文件,之前,包括:下载VBOOT版本前,先获取VBOOT版本的大小。
所述步骤S308,即“TFTP下载VBOOT版本,并存放在RAM存储设备中”,包括:如图5所示,用VBOOT存储空间的最大地址减去VBOOT版本的大小,得到VBOOT压缩版本存放的首地址P1。整个VBOOT压缩版本下载完成后,就存放在P1后面的空间内。
步骤S309,将步骤S308中所述的VBOOT版本解压缩,并存放在放在RAM存储设备中。
这里,所述步骤S309,即“将步骤S308中所述的VBOOT版本解压缩,并存放在放在RAM存储设备中”包括:开始解压VBOOT版本,解压后VBOOT版本,从P0地址开始存放。随着解压过程的进行,P0不断向后移动,P1也不断往后移动。即使P0覆盖到P1的起始地址,也不会覆盖到未解压的有效数据。
步骤S310,VBOOT版本解压完成后,启动VBOOT。
这里,VBOOT版本解压完成后,一级BOOT跳转到VBOOT存储区的首地址运行,由VBOOT接管引导系统的工作。
步骤S311,FTP加载系统版本。
这里,所述步骤S311,即“FTP加载系统版本”包括:VBOOT通过FTP从主控CPU的FTP服务端下载非主控CPU所用的系统文件(包含linux内核、驱动程序等)。
步骤S312,启动系统版本。
本发明实施例所述系统二级引导设备包括以下模块,图6为本发明实施例系统的组成结构示意图,如图6所示:
(A)EPLD片选模块、(B)一级BOOT双区自启动模块、(C)一级BOOT配置模块、(D)下载模块、(E)二级BOOT(VBOOT)版本解压处理模、(F)二级BOOT(VBOOT)引导模块。
所述系统二级引导设备,可以通过以下步骤实现:
步骤S601,系统进入(A)EPLD片选模块。
这里,所述(A)EPLD片选模块负责选择从哪个(B)一级BOOT双区自启动模块启动。
步骤S602,系统进入(B)一级BOOT双区自启动模块。
这里,所述一级BOOT双区自启动模块用于,当一个BOOT区启动失败,则从别一个BOOT启动,保证了系统一级引导的可靠性。
步骤S603,系统进入(C)一级BOOT配置模块。
这里,所述(C)一级BOOT配置模块用于,读取当前下载模块的相关配置。
步骤S604,系统启用TFTP/FTP下载模块。
这里,所述(D)TFTP/FTP下载模块用于下载VBOOT的压缩版本。
步骤S605,系统进入(E)VBOOT版本解压处理模块。
这里,所述(E)VBOOT版本解压处理模块用于在不占用额外存储空间的情况下,得到解压后的VBOOT版本。
步骤S606,系统进入(F)VBOOT引导模块。
这里,当解压VBOOT版本完成后,启用(F)VBOOT引导模块,引导系统版本上电。
图7为本发明实施例二级引导系统的实现流程示意图,如图7所示,当本发明实施例提供的系统二级引导方法用于嵌入式系统内部主控CPU的引导启动时,包括以下步骤:
步骤S701,系统上电。
步骤S702,EPLD从当前片选信号所指的BOOT区启动。
步骤S703,如果所述步骤S702启动成功,进入步骤S706;若所述步骤S702启动不成功,则进入步骤S704。
步骤S704,EPLD切换一级BOOT区片选信号,继续启动切换后的一级BOOT区。
步骤S705,判断所述步骤S704是否启动成功。
这里,如果所述步骤S704启动成功,进入步骤S706;若所述步骤S704启动不成功,则进入步骤S701。
当系统上电后,非主控CPU开始启动,如图4所示,所述步骤S302至S305,可以通过以下步骤实现:
步骤S401,EPLD将启动片选信号CS设置到一级BOOT的A区。
步骤S402,EPLD设置定时器。
步骤S403,如果步骤S402在规定的时间内没有启动成功,则EPLD将片选信号CS切换到一级BOOT的B区,继续引导过程。
这里,如果一级BOOT的B区引导仍然失败,则整个CPU小系统重启,即回到步骤S701。
步骤S706,一级BOOT启动后,先进入3秒定时器等待,判断是否人工配置BOOT;如果是人工配置BOOT,则进入步骤S707;如果不是人工配置BOOT,则进入步骤S708。
这里,所述步骤S706,即“判断是否人工配置BOOT,如果是人工配置BOOT,则进入步骤S707;如果不是人工配置BOOT,则进入步骤S708”,包括:判断是否有键盘输入,如果有键盘输入,则进入S707;如果没有键盘输入,则进入S708。
步骤S707,用户配置BOOT配置菜单。
步骤S708,判断所述步骤S707中用户配置的BOOT配置菜单是否为本地启动。
这里,如果用户配置的VBOOT是本地启动是从本地引导启动,则转到步骤S711;如果用户配置的VBOOT是从网络启动,让用户配置FTP服务器的地址以及要下载的VBOOT文件名等信息,然后进入步骤S709。
步骤S709,FTP下载VBOOT文件名等信息,并存放在FLASH存储设备中。
这里,所述FTP服务端位于后台PC。FTP服务端提供VBOOT的压缩版本。主控CPU所在嵌入工系统采用掉电不丢失的FLASH来存储VBOOT版本。所述FTP下载VBOOT版本前,系统先获取VBOOT版本的大小。
所述步骤S709,即“FTP下载VBOOT文件名等信息,并存放在FLASH存储设备中”,包括:如图5所示,用VBOOT存储空间的最大地址减去VBOOT版本的大小,得VBOOT压缩版本存放的首地址P1。整个VBOOT压缩版本下载完成后,就存放在P1后面的空间内。
步骤S710,将步骤S709中所述的VBOOT版本解压缩,并存放在放在FLASH存储设备中。
这里,所述步骤S710,即“将步骤S709中所述的VBOOT版本解压缩,并存放在放在FLASH存储设备中”包括:开始解压VBOOT版本,解压后VBOOT版本,从P0地址开始存放。随着解压过程的进行,P0不断向后移动,P1也不断往后移动。即使P0覆盖到P1的起始地址,也不会覆盖到未解压的有效数据。
步骤S711,VBOOT版本解压完成后,启动VBOOT。
这里,所述启动VBOOT包括:跳转到VBOOT首地址,开始VBOOT引导过程。
步骤S712,判断系统版本是否为本地加载。
这里,如果所述系统版本是本地加载,则进入步骤S714;如果所述系统版本不是本地加载,则进入步骤S713。
步骤S713,当系统版本是从网络加载时,通过FTP从后台下载系统版本到本地硬盘。
步骤S714,启动系统版本。
需要说明的是,本发明实施例中,如果以软件功能模块的形式实现上述的系统二级引导方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
实施例四
本发明实施例提供一种嵌入式设备,图8为本发明实施例嵌入式设备的组成结构示意图,如图8所示,所述嵌入式设备800至少包括:处理器801和配置为存储可执行指令的存储介质802,其中:
处理器801配置为执行存储的可执行指令,所述可执行指令用于实现下面的步骤:
当前启动片选信号所指的一级引导程序下载二级引导程序的压缩文件;
所述一级引导程序将所述压缩文件的尾部与所述二级引导程序的存储空间的末地址对齐后,将所述压缩文件存储在所述二级引导程序的存储空间;
所述一级引导程序解压所述压缩文件,得到解压文件;
所述一级引导程序将所述解压文件的头部与所述首地址对齐后,将所述解压文件存储在所述二级引导程序的存储空间。
需要说明的是,以上设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本发明设备实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
对应地,本发明实施例提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行本发明其他实施例提供的系统二级引导方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (9)
1.一种系统二级引导方法,其特征在于,所述方法包括:
当前启动片选信号所指的一级引导程序下载二级引导程序的压缩文件;
所述一级引导程序将所述压缩文件的尾部与所述二级引导程序的存储空间的末地址对齐后,将所述压缩文件存储在所述二级引导程序的存储空间;
所述一级引导程序解压所述压缩文件,得到解压文件;
所述一级引导程序将所述解压文件的头部与所述二级引导程序的存储空间的首地址对齐后,将所述解压文件存储在所述二级引导程序的存储空间。
2.根据权利要求1所述的方法,其特征在于,所述一级引导程序下载所述二级引导程序的压缩文件,包括:
如果一级引导程序启动主控中央处理器CPU,则通过文件传输协议FTP服务器或者简单文件传输协议TFTP服务器下载二级引导程序的压缩文件;其中,FTP服务器和TFTP服务器在嵌入式设备的后台服务器或者个人计算机PC上;
如果一级引导程序启动非主控CPU,则通过FTP或TFTP下载二级引导程序的压缩文件;其中,非主控CPU的FTP服务器和TFTP服务器在主控CPU上。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
上电后,被启动的一级引导程序获取二级引导程序的压缩文件的大小;
对应地,所述一级引导程序将所述压缩文件的尾部与所述二级引导程序的存储空间的末地址对齐后,将所述压缩文件存储在所述二级引导程序的存储空间,包括:
所述一级引导程序将所述末地址减去所述压缩文件的大小,得到存储所述压缩文件的头部的第一地址;
所述一级引导程序将所述压缩文件存储在所述第一地址与所述末地址之间。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
一级引导程序将二级引导程序的压缩文件解压完成后,启动所述二级引导程序,并由所述二级引导程序启动系统文件。
5.根据权利要求4所述的方法,其特征在于,所述一级引导程序启动所述二级引导程序,包括:
所述一级引导程序跳转到所述二级引导程序的存储空间的首地址,从而启动所述二级引导程序。
6.根据权利要求1至3任一项所述的方法,其特征在于,所述方法包括:
可擦除可编辑逻辑器件EPLD启动第一一级引导程序;
如果所述第一一级引导程序的启动时间未超过预设的第一时间阈值,所述EPLD将所述第一一级引导程序作为所述当前启动片选信号所指的一级引导程序。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
如果所述第一一级引导程序的启动时间超过预设的第一时间阈值,所述EPLD将所述启动片选信号切换到第二一级引导程序,并启动所述第二一级引导程序;
如果所述第二一级引导程序的启动时间不超过预设的第二时间阈值,所述EPLD将所述第二一级引导程序作为所述当前启动片选信号所指的一级引导程序。
8.一种嵌入式设备,其特征在于,所述嵌入式设备至少包括:处理器和配置为存储可执行指令的存储介质,其中:
处理器配置为执行存储的可执行指令,所述可执行指令配置为执行系统二级引导的程序,以实现以下步骤:
当前启动片选信号所指的一级引导程序下载二级引导程序的压缩文件;
所述一级引导程序将所述压缩文件的尾部与所述二级引导程序的存储空间的末地址对齐后,将所述压缩文件存储在所述二级引导程序的存储空间;
所述一级引导程序解压所述压缩文件,得到解压文件;
所述一级引导程序将所述解压文件的头部与所述二级引导程序的存储空间的首地址对齐后,将所述解压文件存储在所述二级引导程序的存储空间。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述权利要求1至7任一项提供的系统二级引导方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810022899.5A CN110018852B (zh) | 2018-01-10 | 2018-01-10 | 一种系统二级引导方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810022899.5A CN110018852B (zh) | 2018-01-10 | 2018-01-10 | 一种系统二级引导方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110018852A CN110018852A (zh) | 2019-07-16 |
CN110018852B true CN110018852B (zh) | 2021-10-15 |
Family
ID=67187981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810022899.5A Active CN110018852B (zh) | 2018-01-10 | 2018-01-10 | 一种系统二级引导方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110018852B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101398752A (zh) * | 2007-09-29 | 2009-04-01 | 国际商业机器公司 | 重叠指令存取单元和重叠指令存取方法 |
CN101639786A (zh) * | 2009-09-08 | 2010-02-03 | 中兴通讯股份有限公司 | 引导嵌入式操作系统启动的方法和装置 |
CN102467397A (zh) * | 2010-11-17 | 2012-05-23 | 中兴通讯股份有限公司 | 嵌入式系统的引导方法及装置 |
CN107094142A (zh) * | 2017-04-28 | 2017-08-25 | 电信科学技术研究院 | 一种上行数据解压缩、压缩的方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW543037B (en) * | 2001-08-15 | 2003-07-21 | Numa Technology Inc | Embedded memory structure and its accessing method |
TWI413899B (zh) * | 2009-07-27 | 2013-11-01 | Univ Nat Sun Yat Sen | 應用於循環記憶體之壓縮資料管理系統及方法 |
-
2018
- 2018-01-10 CN CN201810022899.5A patent/CN110018852B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101398752A (zh) * | 2007-09-29 | 2009-04-01 | 国际商业机器公司 | 重叠指令存取单元和重叠指令存取方法 |
CN101639786A (zh) * | 2009-09-08 | 2010-02-03 | 中兴通讯股份有限公司 | 引导嵌入式操作系统启动的方法和装置 |
CN102467397A (zh) * | 2010-11-17 | 2012-05-23 | 中兴通讯股份有限公司 | 嵌入式系统的引导方法及装置 |
CN107094142A (zh) * | 2017-04-28 | 2017-08-25 | 电信科学技术研究院 | 一种上行数据解压缩、压缩的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110018852A (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8732446B2 (en) | Selectively compressing blocks of a bootable snapshot image during booting | |
US8719810B2 (en) | Program upgrade system and method for over the air-capable mobile terminal | |
CN111078318B (zh) | 配置文件的处理方法、装置、系统及存储介质 | |
CN110597542B (zh) | 软件自动ota升级方法及装置、电子设备 | |
CN109840096B (zh) | 操作系统的安装方法及装置 | |
CN106020875B (zh) | 嵌入式终端的固件更新管理方法和装置 | |
CN105975311B (zh) | 一种应用启动方法及装置 | |
CN101840341A (zh) | 智能手机系统及其启动方法 | |
CN109905770B (zh) | 终端开机启动方法、装置及终端 | |
CN104020991A (zh) | 应用程序的多语言切换方法及装置 | |
CN101105755A (zh) | 支持多操作系统的便携式设备及其支持方法 | |
US20150277934A1 (en) | One time dual boot mobile phone device | |
CN109408122B (zh) | 一种设备启动方法、电子设备和计算机存储介质 | |
CN111708548A (zh) | 软件安装方法、装置、设备及存储介质 | |
CN111694585A (zh) | 替换系统分区文件的方法、系统、终端和存储介质 | |
CN110018852B (zh) | 一种系统二级引导方法、设备及存储介质 | |
EP2835737A1 (en) | Data terminal running mode switching method, device, and data terminal | |
CN117389578A (zh) | 云终端系统升级方法、装置、云终端和存储介质 | |
CN107885548B (zh) | 一种系统启动方法及装置 | |
KR20070108646A (ko) | 압축 바이너리 파일을 관리하는 단말기 및 그 방법 | |
CN115033296A (zh) | 一种基于UEFI和Linux的国产操作系统启动方法及装置 | |
CN113721959A (zh) | 一种信息处理方法、装置及电子设备 | |
KR20080023064A (ko) | 무선 통신 단말의 프로그램 갱신 방법 및 시스템 | |
CN115640053A (zh) | 设备启动方法、装置、存储介质及电子设备 | |
CN107247642B (zh) | 用于系统开机时确定可执行映像文件的方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |