一种BOOT程序的存储方法及装置、启动方法及装置制造方法及图纸

技术编号:14919747 阅读:75 留言:0更新日期:2017-03-30 12:30
本发明专利技术实施例提供了一种BOOT程序的存储方法及装置、启动方法及装置,涉及计算机技术领域,用以在不增加生产成本的前提下,解决NORFlash存储器的容量较小造成BOOT程序所能实现的功能受限的问题。本发明专利技术实施例提供的BOOT程序的存储方法包括:采用无损压缩程序对二进制的BOOT程序进行压缩处理,生成压缩后的BOOT程序;将二进制的引导文件存入NORFlash存储器中,所述二进制的引导文件包括:与无损压缩程序对应的解压缩程序、作为解压缩程序的解压对象的压缩后的BOOT程序、以及启动汇编程序。该BOOT程序的启动方法可以把压缩后的BOOT程序解压缩,并执行解压缩后的BOOT程序。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种BOOT程序的存储方法及装置、启动方法及装置
技术介绍
BOOT(系统引导文件)程序,是在操作系统运行之前运行的一段小程序,是一个非常重要的系统文件,没有它,系统将无法进行引导。近年来,在嵌入式系统中,通常将BOOT程序存储在NORFlash存储器中,系统启动时,通过执行存储在NORFlash存储器中的BOOT程序来完成启动。但是就目前来看,NORFlash存储器容量相对较小,价格比较昂贵,这在很大程度上限制了BOOT程序的大小,进而导致BOOT程序所能实现的功能受到很大程度的限制。为解决这一问题,目前的做法多是采用价格昂贵的大容量NORFlash存储器,这会增加生产成本。
技术实现思路
本专利技术实施例提供了一种BOOT程序的存储方法及装置、启动方法及装置,用以在不增加生产成本的前提下,解决NORFlash存储器的容量较小造成BOOT程序所能实现的功能受限的问题。为了解决这一问题,一方面本专利技术实施例提供了一种BOOT程序的存储方法,包括:采用无损压缩程序对二进制的BOOT程序进行压缩处理,生成压缩后的BOOT程序;将二进制的引导文件存入NORFlash存储器中,所述二进制的引导文件包括:与无损压缩程序对应的解压缩程序、作为解压缩程序的解压对象的压缩后的BOOT程序、以及启动汇编程序。另一方面,本专利技术实施例提供了一种BOOT程序的启动方法,应用于电子设备,所述电子设备包括:NORFlash存储器和内存,所述启动方法包括:将NORFlash存储器中的二进制的引导文件拷贝到内存中,所述二进制的引导文件包括:与所述无损压缩程序对应的解压缩程序、作为所述解压缩程序的解压对象的所述压缩后的BOOT程序、以及启动汇编程序;以及,执行所述内存中的所述启动汇编程序,以对所述电子设备进行初始化配置;执行所述内存中的所述解压缩程序,以将所述压缩后的BOOT程序解压缩至所述内存中,得到二进制的BOOT程序;执行所述二进制的BOOT程序。相应的,本专利技术实施例还提供了一种用于将BOOT程序存储至电子设备的装置,包括:压缩模块,用于采用无损压缩程序对所述二进制的BOOT程序进行压缩处理,生成压缩后的BOOT程序;处理模块,用于将二进制的引导文件存入电子设备的NORFlash存储器中,所述二进制的引导文件包括:与无损压缩程序对应的解压缩程序、作为解压缩程序的解压对象的压缩后的BOOT程序、以及启动汇编程序。相应的,本专利技术实施例还提供了一种用于启动电子设备中BOOT程序的装置,所述电子设备包括NORFlash存储器和内存,所述装置包括:拷贝模块,用于将NORFlash存储器中的二进制的引导文件拷贝到内存中,所述二进制的引导文件包括:与无损压缩程序对应的解压缩程序、作为解压缩程序的解压对象的压缩后的BOOT程序、以及启动汇编程序;执行模块,用于执行内存中的启动汇编程序,以对电子设备进行初始化配置;执行内存中的解压缩程序,以将压缩后的BOOT程序解压缩至内存中,得到二进制的BOOT程序;执行二进制的BOOT程序。本专利技术实施例提供的BOOT程序的存储方法和装置,在存储时将BOOT程序进行无损压缩存储,减小了BOOT程序所占的存储空间,从而降低了存储BOOT程序所需的NORFlash存储器的容量。相较于现有技术而言,对于同样容量的NORFlash存储器而言,按照本专利技术实施例的方案可在该NORFlash存储器中存储的程序大小和按照现有技术的方案可在该NORFlash存储器中存储的程序大小相同,而又因为本专利技术实施例中所存储的程序是压缩后的,而现有技术中所存储的程序是未压缩的,因此相对现有技术而言本专利技术实施例所存储的程序可包含更多的信息量,也即可实现更多的功能,从而能够不增加生产成本的前提下,解决NORFlash存储器的容量较小造成BOOT程序所能实现的功能受限的问题。具体的,采用本专利技术实施例的方案在NORFlash存储器中存储的BOOT程序可以实现对上电实时性要求较高的功能(如开机画面和开机音乐等),这样在电子设备上电后就可以立即执行BOOT程序,以实现这些功能。然而,如若采用现有技术的方案且不对NORFlash存储器扩容,就需要将BOOT程序的这些功能移植到操作系统完全启动后去执行,使得这些功能的开启相对滞后,因此,采用本专利技术实施例能够大大提高了用户体验。本专利技术实施例提供的BOOT程序的启动方法和装置,可以实现对存储于NORFlash存储器中的压缩后的BOOT程序的启动,进而使得BOOT程序发挥引导作用,完成对电子设备的启动。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的电子设备的内部部件连接示意图;图2为本专利技术实施例提供的一种BOOT程序的存储方法流程图;图3为本专利技术实施例提供的经GZIP压缩程序压缩后的文件格式的示意图;图4为本专利技术实施例提供的图3所示的经GZIP压缩程序压缩后的文件中数据部分的文件格式示意图;图5为本专利技术实施例提供的一种BOOT程序的启动方法流程图;图6为本专利技术实施例提供的另一种BOOT程序的启动方法流程图;图7为本专利技术实施例提供的一种用于将BOOT程序存储至电子设备的装置框图;图8为本专利技术实施例提供的一种用于启动电子设备中BOOT程序的装置框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为了便于清楚描述本专利技术实施例的技术方案,在本专利技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。本专利技术实施例提供的方案,适用于使用嵌入式系统的电子设备中,如图1所示,该电子设备需要具有CPU11、NORFlash存储器12、内存13本文档来自技高网...
一种BOOT程序的存储方法及装置、启动方法及装置

【技术保护点】
一种BOOT程序的存储方法,其特征在于,包括:采用无损压缩程序对二进制的BOOT程序进行压缩处理,生成压缩后的BOOT程序;将二进制的引导文件存入NORFlash存储器中,所述二进制的引导文件包括:与所述无损压缩程序对应的解压缩程序、作为所述解压缩程序的解压对象的所述压缩后的BOOT程序、以及启动汇编程序。

【技术特征摘要】
1.一种BOOT程序的存储方法,其特征在于,包括:
采用无损压缩程序对二进制的BOOT程序进行压缩处理,生成压缩后
的BOOT程序;
将二进制的引导文件存入NORFlash存储器中,所述二进制的引导文件
包括:与所述无损压缩程序对应的解压缩程序、作为所述解压缩程序的解压
对象的所述压缩后的BOOT程序、以及启动汇编程序。
2.根据权利要求1所述的方法,其特征在于,所述将二进制的引导文
件存入NORFlash存储器中,所述二进制的引导文件包括:与所述无损压缩
程序对应的解压缩程序、作为所述解压缩程序的解压对象的所述压缩后的
BOOT程序、以及启动汇编程序,包括:
将所述压缩后的BOOT程序转化成数组,生成包含该数组的C语言文
件;
将所述包含该数组的C语言文件作为解压对象添加至解压缩程序的C
语言文件中,得到添加有解压对象的C语言文件;
将所述添加有解压对象的C语言文件与启动汇编程序编译成二进制的
引导文件;
将所述二进制的引导文件存入NORFlash存储器中。
3.根据权利要求1所述的方法,其特征在于,所述将二进制的引导文
件存入NORFlash存储器中,所述二进制的引导文件包括:与所述无损压缩
程序对应的解压缩程序、作为所述解压缩程序的解压对象的所述压缩后的
BOOT程序、以及启动汇编程序,包括:
将所述压缩后的BOOT程序存入NORFlash存储器中;
将解压缩程序的C语言文件中解压对象的地址改为内存的指定地址;
将修改后的解压缩程序的C语言文件与启动汇编程序编译成二进制的
文件;
将编译后的所述二进制的文件存入NORFlash存储器中。
4.一种BOOT程序的启动方法,其特征在于,应用于电子设备,所述
电子设备包括:NORFlash存储器和内存,所述启动方法包括:
将NORFlash存储器中的二进制的引导文件拷贝到内存中,所述二进制
的引导文件包括:与所述无损压缩程序对应的解压缩程序、作为所述解压缩
程序的解压对象的所述压缩后的BOOT程序、以及启动汇编程序;
以及,执行所述内存中的所述启动汇编程序,以对所述电子设备进行初
始化配置;
执行所述内存中的所述解压缩程序,以将所述压缩后的BOOT程序解
压缩至所述内存中,得到二进制的BOOT程序;
执行所述二进制的BOOT程序。
5.根据权利要求4所述的方法,其特征在于,所述二进制的引导文件
中的所述压缩后的BOOT程序是以数组形式、作为解压对象添加在所述解
压缩程序中的;
所述将所述压缩后的BOOT程序解压缩至内存中具体包括:将数组形
式的所述压缩后的BOOT程序解压缩至内存中。
6.根据权利要求4所述的方法,其特征在于,所述二进制的引导文件
包括压缩后的BOOT程序,以及二进制的文件,其中所述二进制的文件为
解压缩程序和启动汇编程序编译得到的文件,且所述解压缩程序的解压对象
的地址为内存的指定地址;
所述将NORFlash存储器中的二进制的引导文件拷贝到内存中包括:
将所述二进制的文件拷贝到内存中;
在执行所述内存中的所述解压缩程序的过程中,根据所述内...

【专利技术属性】
技术研发人员:李洋
申请(专利权)人:青岛海信信芯科技有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1