CN109634669B - 嵌入式系统的启动方法及装置 - Google Patents
嵌入式系统的启动方法及装置 Download PDFInfo
- Publication number
- CN109634669B CN109634669B CN201811383213.1A CN201811383213A CN109634669B CN 109634669 B CN109634669 B CN 109634669B CN 201811383213 A CN201811383213 A CN 201811383213A CN 109634669 B CN109634669 B CN 109634669B
- Authority
- CN
- China
- Prior art keywords
- application program
- file
- file system
- execution sequence
- script
- 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
Abstract
本发明公开了一种嵌入式系统的启动方法及装置,该方法包括:接收到启动指令后,从设定存储区域获取文件系统,所述文件系统包括各个应用程序的压缩文件、各个应用程序的执行顺序和各个应用程序的脚本文件;根据所述文件系统挂载内存文件系统;将各个应用程序的压缩文件解压到所述内存文件系统中;按照各个应用程序的执行顺序调用对应的应用程序的脚本文件,以执行对应的应用程序。该方案可以大大提高嵌入式系统的启动速度,提升用户体验。
Description
技术领域
本发明涉及计算机技术领域,尤指一种嵌入式系统的启动方法及装置。
背景技术
嵌入式系统在启动时,通常会启动很多应用程序,每个应用程序对应一个脚本文件,这些脚本文件按照执行顺序命名,依次执行这些脚本文件后,就可以完成嵌入式系统的启动。
通常,应用程序加载时会根据脚本文件中的说明从闪存(Flash)中直接读取,加载到内存后开始执行应用程序,执行完成后,再获取下一个脚本文件,重复该操作。
上述嵌入式系统的启动方法中,要从Flash中读取应用程序,由于现有Flash的读取速度很慢,而中央处理器(Central Processing Unit,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,用于打包压缩文件、各个应用程序的执行顺序和脚本文件,得到文件系统。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种嵌入式系统的启动方法,其特征在于,包括:
接收到启动指令后,从设定存储区域获取文件系统,所述文件系统包括各个应用程序的压缩文件、各个应用程序的执行顺序和各个应用程序的脚本文件;
根据所述文件系统挂载内存文件系统;
将各个应用程序的压缩文件解压到所述内存文件系统中;
按照各个应用程序的执行顺序调用对应的应用程序的脚本文件,以执行对应的应用程序。
2.如权利要求1所述的方法,其特征在于,还包括:
执行完各个应用程序后,卸载所述内存文件系统。
3.如权利要求1所述的方法,其特征在于,还包括:
接收到编译指令后,编译各个应用程序、各个应用程序的依赖关系和脚本文件;
根据各个应用程序的依赖关系确定各个应用程序的执行顺序。
4.如权利要求1-3任一所述的方法,其特征在于,还包括:
接收到打包指令后,压缩各个应用程序,得到压缩文件;
获取各个应用程序的执行顺序和脚本文件;
打包所述压缩文件、各个应用程序的执行顺序和脚本文件,得到所述文件系统。
5.一种嵌入式系统的启动装置,其特征在于,包括:
接收模块,用于接收到启动指令后,从设定存储区域获取文件系统,所述文件系统包括各个应用程序的压缩文件、各个应用程序的执行顺序和各个应用程序的脚本文件;
挂载模块,用于根据所述文件系统挂载内存文件系统;
解压模块,用于将各个应用程序的压缩文件解压到所述内存文件系统中;
调用模块,用于按照各个应用程序的执行顺序调用对应的应用程序的脚本文件,以执行对应的应用程序。
6.如权利要求5所述的装置,其特征在于,还包括:
卸载模块,用于执行完各个应用程序后,卸载所述内存文件系统。
7.如权利要求5所述的装置,其特征在于,还包括:
编译模块,用于接收到编译指令后,编译各个应用程序、各个应用程序的依赖关系和脚本文件;
确定模块,用于根据各个应用程序的依赖关系确定各个应用程序的执行顺序。
8.如权利要求5-7任一所述的装置,其特征在于,还包括:
压缩模块,用于接收到打包指令后,压缩各个应用程序,得到压缩文件;
获取模块,用于获取各个应用程序的执行顺序和脚本文件;
打包模块,用于打包所述压缩文件、各个应用程序的执行顺序和脚本文件,得到所述文件系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811383213.1A CN109634669B (zh) | 2018-11-20 | 2018-11-20 | 嵌入式系统的启动方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811383213.1A CN109634669B (zh) | 2018-11-20 | 2018-11-20 | 嵌入式系统的启动方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109634669A CN109634669A (zh) | 2019-04-16 |
CN109634669B true CN109634669B (zh) | 2021-08-17 |
Family
ID=66068481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811383213.1A Active CN109634669B (zh) | 2018-11-20 | 2018-11-20 | 嵌入式系统的启动方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109634669B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136770A (zh) * | 2006-10-13 | 2008-03-05 | 中兴通讯股份有限公司 | 电信多分支网络管理系统的自动升级方法及装置 |
CN101599019A (zh) * | 2008-06-06 | 2009-12-09 | 华硕电脑股份有限公司 | 用以快速开启程序的计算机执行系统以及方法 |
CN101625647A (zh) * | 2009-08-06 | 2010-01-13 | 青岛海信电器股份有限公司 | 加快嵌入式软件系统启动速度的方法 |
CN101751273A (zh) * | 2008-12-15 | 2010-06-23 | 中国科学院声学研究所 | 用于嵌入式系统的安全引导装置及方法 |
CN102141923A (zh) * | 2010-09-28 | 2011-08-03 | 华为终端有限公司 | 内存文件系统加载方法及装置 |
CN102262543A (zh) * | 2010-05-25 | 2011-11-30 | 上海中标软件有限公司 | 抗掉电的Linux系统启动方法 |
CN107479922A (zh) * | 2017-08-04 | 2017-12-15 | 深圳市中兴物联科技有限公司 | 一种闪存数据管理方法、装置及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10474484B2 (en) * | 2015-03-26 | 2019-11-12 | Vmware, Inc. | Offline management of virtualization software installed on a host computer |
-
2018
- 2018-11-20 CN CN201811383213.1A patent/CN109634669B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136770A (zh) * | 2006-10-13 | 2008-03-05 | 中兴通讯股份有限公司 | 电信多分支网络管理系统的自动升级方法及装置 |
CN101599019A (zh) * | 2008-06-06 | 2009-12-09 | 华硕电脑股份有限公司 | 用以快速开启程序的计算机执行系统以及方法 |
CN101751273A (zh) * | 2008-12-15 | 2010-06-23 | 中国科学院声学研究所 | 用于嵌入式系统的安全引导装置及方法 |
CN101625647A (zh) * | 2009-08-06 | 2010-01-13 | 青岛海信电器股份有限公司 | 加快嵌入式软件系统启动速度的方法 |
CN102262543A (zh) * | 2010-05-25 | 2011-11-30 | 上海中标软件有限公司 | 抗掉电的Linux系统启动方法 |
CN102141923A (zh) * | 2010-09-28 | 2011-08-03 | 华为终端有限公司 | 内存文件系统加载方法及装置 |
CN107479922A (zh) * | 2017-08-04 | 2017-12-15 | 深圳市中兴物联科技有限公司 | 一种闪存数据管理方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109634669A (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101467515B1 (ko) | 스냅샷 이미지를 이용한 부팅 장치 및 방법 | |
CN109933350B (zh) | 在应用中嵌入代码的方法、装置及电子设备 | |
CN103955375A (zh) | 一种应用安装文件的生成方法、应用的启动方法及装置 | |
RU2004106185A (ru) | Компактная идентификация аппаратных средств для привязки пакета программного обеспечения к компьютерной системе, имеющей допуск на изменения аппаратных средств | |
RU2015103759A (ru) | Способ и устройство для высвобождения пространства памяти | |
CN110337036B (zh) | 机顶盒的升级方法、装置及存储介质 | |
WO2019001335A1 (zh) | 应用程序打包方法、装置及终端设备 | |
US11210127B2 (en) | Method and apparatus for processing request | |
CN105573785A (zh) | 一种差分包的制作方法及装置 | |
CN106845162B (zh) | 一种重签名方法及装置 | |
CN106325896B (zh) | 安装包的共享函数库文件处理方法及装置 | |
CN106648839B (zh) | 数据处理的方法和装置 | |
CN109634669B (zh) | 嵌入式系统的启动方法及装置 | |
CN111045698A (zh) | 冗余图片的删除方法、装置、电子设备及存储介质 | |
CN112799691A (zh) | 一种应用安装包的处理方法、装置、设备及介质 | |
CN107301105B (zh) | 校验热补丁或者动态库的方法及装置 | |
JP2019501459A (ja) | アプリケーションプログラム実行方法及び装置 | |
CN114296747A (zh) | 软件安装包的安装方法以及装置 | |
CN110515834B (zh) | 接口测试方法、装置、移动终端及存储介质 | |
CN110502251B (zh) | 应用安装方法及装置 | |
CN111427620A (zh) | 嵌入式系统的启动方法及装置 | |
CN111475220A (zh) | 冷启动方法、装置、电子设备及计算机存储介质 | |
CN111913720A (zh) | 一种程序部署方法及装置 | |
CN110968879A (zh) | 基于区块链的数据处理方法及装置 | |
CN113238777B (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 |