嵌入式系统的启动方法及装置与流程

文档序号:17441342发布日期:2019-04-17 04:48阅读:229来源:国知局
嵌入式系统的启动方法及装置与流程

本发明涉及计算机技术领域,尤指一种嵌入式系统的启动方法及装置。



背景技术:

嵌入式系统在启动时,通常会启动很多应用程序,每个应用程序对应一个脚本文件,这些脚本文件按照执行顺序命名,依次执行这些脚本文件后,就可以完成嵌入式系统的启动。

通常,应用程序加载时会根据脚本文件中的说明从闪存(flash)中直接读取,加载到内存后开始执行应用程序,执行完成后,再获取下一个脚本文件,重复该操作。

上述嵌入式系统的启动方法中,要从flash中读取应用程序,由于现有flash的读取速度很慢,而中央处理器(centralprocessingunit,cpu)执行速度非常快,导致cpu总是在空等flash读取完成,这就会大大降低嵌入式系统的启动速度,影响用户体验。



技术实现要素:

本发明实施例提供一种嵌入式系统的启动方法及装置,用以解决现有技术中存在的大大降低嵌入式系统的启动速度,影响用户体验的问题。

根据本发明实施例,提供一种嵌入式系统的启动方法,包括:

接收到启动指令后,从设定存储区域获取文件系统,所述文件系统包括各个应用程序的压缩文件、各个应用程序的执行顺序和各个应用程序的脚本文件;

根据所述文件系统挂载内存文件系统;

将各个应用程序的压缩文件解压到所述内存文件系统中;

按照各个应用程序的执行顺序调用对应的应用程序的脚本文件,以执行对应的应用程序。

可选的,还包括:

执行完各个应用程序后,卸载所述内存文件系统。

可选的,还包括:

接收到编译指令后,编译各个应用程序、各个应用程序的依赖关系和脚本文件;

根据各个应用程序的依赖关系确定各个应用程序的执行顺序。

可选的,还包括:

接收到打包指令后,压缩各个应用程序,得到压缩文件;

获取各个应用程序的执行顺序和脚本文件;

打包所述压缩文件、各个应用程序的执行顺序和脚本文件,得到所述文件系统。

根据本发明实例,还提供一种嵌入式系统的启动装置,包括:

接收模块,用于接收到启动指令后,从设定存储区域获取文件系统,所述文件系统包括各个应用程序的压缩文件、各个应用程序的执行顺序和各个应用程序的脚本文件;

挂载模块,用于根据所述文件系统挂载内存文件系统;

解压模块,用于将各个应用程序的压缩文件解压到所述内存文件系统中;

调用模块,用于按照各个应用程序的执行顺序调用对应的应用程序的脚本文件,以执行对应的应用程序。

可选的,还包括:

卸载模块,用于执行完各个应用程序后,卸载所述内存文件系统。

可选的,还包括:

编译模块,用于接收到编译指令后,编译各个应用程序、各个应用程序的依赖关系和脚本文件;

确定模块,用于根据各个应用程序的依赖关系确定各个应用程序的执行顺序。

可选的,还包括:

压缩模块,用于接收到打包指令后,压缩各个应用程序,得到压缩文件;

获取模块,用于获取各个应用程序的执行顺序和脚本文件;

打包模块,用于打包所述压缩文件、各个应用程序的执行顺序和脚本文件,得到所述文件系统。

本发明有益效果如下:

本发明实施例提供一种嵌入式系统的启动方法及装置,通过接收到启动指令后,从设定存储区域获取文件系统,所述文件系统包括各个应用程序的压缩文件、各个应用程序的执行顺序和各个应用程序的脚本文件;根据所述文件系统挂载内存文件系统;将各个应用程序的压缩文件解压到所述内存文件系统中;按照各个应用程序的执行顺序调用对应的应用程序的脚本文件,以执行对应的应用程序。该方案中,文件系统包括各个应用程序的压缩文件、各个应用程序的执行顺序和各个应用程序的脚本文件,由于文件系统中的应用程序是被压缩过的,压缩后的应用程序非常小,这就大大缩短了从设定存储区域读取的时间,并且,文件系统中还包括各个应用程序的执行顺序,无需再根据各个应用程序的脚本文件来确定应用程序的执行顺序,从而可以大大提高嵌入式系统的启动速度,提升用户体验。

附图说明

图1为本发明实施例中一种嵌入式系统的启动方法的流程图;

图2为本发明实施例中在打包阶段的流程图;

图3为本发明实施例中一种嵌入式系统的启动装置的结构示意图;

图4为本发明实施例中另一种嵌入式系统的启动装置的结构示意图;

图5为本发明实施例中另一种嵌入式系统的启动装置的结构示意图;

图6为本发明实施例中另一种嵌入式系统的启动装置的结构示意图。

具体实施方式

针对现有技术中存在的大大降低嵌入式系统的启动速度,影响用户体验的问题,本发明实施例提供一种嵌入式系统的启动方法,应用在嵌入式设备中,该方法的流程如图1所示,执行步骤如下:

s11:接收到启动指令后,从设定存储区域获取文件系统。

用户如果需要启动嵌入式系统,可以发出启动指令,可以但不限于通过触发启动开关发出启动指令,嵌入式设备接收到启动指令后,从设定存储区域获取文件系统,文件系统包括各个应用程序的压缩文件、各个应用程序的执行顺序和各个应用程序的脚本文件,文件系统是预先存储在设定存储区域内的,设定存储区域可以位于嵌入式设备的flash中。

s12:根据文件系统挂载内存文件系统。

可以申请一块内存,在该内存中根据文件系统挂载内存文件系统。

s13:将各个应用程序的压缩文件解压到内存文件系统中。

文件系统中保存的是各个应用程序的压缩文件,可以直接将各个应用程序的压缩文件在内存文件系统中进行解压。

s14:按照各个应用程序的执行顺序调用对应的应用程序的脚本文件,以执行对应的应用程序。

文件系统中还保存有各个应用程序的执行顺序,从而可以根据各个应用程序的执行顺序调用对应的应用程序的脚本文件,执行各个脚本文件,从而实现执行对应的应用程序。

一种优选的实施方式,执行完各个应用程序后,卸载内存文件系统,从而释放内存。

该方案中,文件系统包括各个应用程序的压缩文件、各个应用程序的执行顺序和各个应用程序的脚本文件,由于文件系统中的应用程序是被压缩过的,压缩后的应用程序非常小,这就大大缩短了从设定存储区域读取的时间,并且,文件系统中还包括各个应用程序的执行顺序,无需再根据各个应用程序的脚本文件来确定应用程序的执行顺序,从而可以大大提高嵌入式系统的启动速度,提升用户体验。

可选的,上述方法还包括在编译阶段的方法,还包括:

接收到编译指令后,编译各个应用程序、各个应用程序的依赖关系和脚本文件;

根据各个应用程序的依赖关系确定各个应用程序的执行顺序。

用户如果需要编译文件系统,可以发出编译指令,可以但不限于通过触发编译开关发出编译指令,嵌入式设备接收到编译指令后,编译各个应用程序、各个应用程序的依赖关系和脚本文件。

嵌入式系统中的各个应用程序可能并不都是独立执行的,有可能会存在依赖关系,例如,嵌入式系统包括应用程序a、应用程序b、应用程序c、应用程序d这四个应用程序,应用程序a、应用程序c依赖于应用程序b,那么应用程序b的执行需要在应用程序a和应用程序c之前,而应用程序d的执行则不受限制,这样就可以确定出这四个应用程序的执行顺序,例如,可以但不限于确定的四个应用程序的执行顺序为:先执行应用程序b,再执行应用程序a、应用程序c和应用程序d。

可选的,上述方法还包括在打包阶段的方法,如图2所示,具体执行步骤如下:

s21:接收到打包指令后,压缩各个应用程序,得到压缩文件。

用户如果需要打包文件系统,可以发出打包指令,可以但不限于通过触发打包开关发出打包指令,嵌入式设备在接收到打包指令后,会压缩各个应用程序,得到各个应用程序的压缩文件。

各个应用程序的压缩文件相对于原有的各个应用程序而言,数据量会小很多,因此,在后续嵌入式系统启动阶段时,可以大大减少从flash中的读取时间,从而可以大大减少嵌入式系统的启动时间。

s22:获取各个应用程序的执行顺序和脚本文件。

由于在编译阶段,编译了各个应用程序的执行顺序和脚本文件,在打包阶段可以直接获取各个应用程序的执行顺序和脚本文件。

s23:打包压缩文件、各个应用程序的执行顺序和脚本文件,得到文件系统。

将s21中生成的压缩文件、s22中获取的各个应用程序的执行顺序和脚本文件打包在一起就可以得到文件系统,将该文件系统保存在设定存储区域内,后续在嵌入式系统启动阶段,就可以直接从设定存储区域内获取。

基于同一发明构思,本发明实施例提供一种嵌入式系统的启动装置,该装置的结构如图3所示,包括:

接收模块31,用于接收到启动指令后,从设定存储区域获取文件系统,文件系统包括各个应用程序的压缩文件、各个应用程序的执行顺序和各个应用程序的脚本文件;

挂载模块32,用于根据文件系统挂载内存文件系统;

解压模块33,用于将各个应用程序的压缩文件解压到内存文件系统中;

调用模块34,用于按照各个应用程序的执行顺序调用对应的应用程序的脚本文件,以执行对应的应用程序。

该方案中,文件系统包括各个应用程序的压缩文件、各个应用程序的执行顺序和各个应用程序的脚本文件,由于文件系统中的应用程序是被压缩过的,压缩后的应用程序非常小,这就大大缩短了从设定存储区域读取的时间,并且,文件系统中还包括各个应用程序的执行顺序,无需再根据各个应用程序的脚本文件来确定应用程序的执行顺序,从而可以大大提高嵌入式系统的启动速度,提升用户体验。

一种可选的实施方式,提供另一种嵌入式系统的启动装置,如图4所示,在图3的基础上,还包括:

卸载模块35,用于执行完各个应用程序后,卸载内存文件系统。

一种可选的实施方式,提供另一种嵌入式系统的启动装置,如图5所示,在图3的基础上,还包括:

编译模块36,用于接收到编译指令后,编译各个应用程序、各个应用程序的依赖关系和脚本文件;

确定模块37,用于根据各个应用程序的依赖关系确定各个应用程序的执行顺序。

一种可选的实施方式,提供另一种嵌入式系统的启动装置,如图6所示,在图3的基础上,还包括:

压缩模块38,用于接收到打包指令后,压缩各个应用程序,得到压缩文件;

获取模块39,用于获取各个应用程序的执行顺序和脚本文件;

打包模块40,用于打包压缩文件、各个应用程序的执行顺序和脚本文件,得到文件系统。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1