CN102467397A - 嵌入式系统的引导方法及装置 - Google Patents
嵌入式系统的引导方法及装置 Download PDFInfo
- Publication number
- CN102467397A CN102467397A CN2010105486037A CN201010548603A CN102467397A CN 102467397 A CN102467397 A CN 102467397A CN 2010105486037 A CN2010105486037 A CN 2010105486037A CN 201010548603 A CN201010548603 A CN 201010548603A CN 102467397 A CN102467397 A CN 102467397A
- Authority
- CN
- China
- Prior art keywords
- system applies
- bootstrap module
- bootstrap
- internal memory
- applies
- 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 32
- 230000006837 decompression Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 abstract description 4
- 238000012546 transfer Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000005465 channeling Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种嵌入式系统的引导方法及装置,该引导方法包括:第一引导模块将系统应用解压缩到内存中;所述第一引导模块将存储在可读写存储芯片中的新系统应用读取到内存中,所述新系统应用包含第二引导模块和所述系统应用;以及所述第一引导模块将CPU控制权交由所述第二引导模块,所述第二引导模块引导所述系统应用运行。本发明的引导方法及引导装置,通过采用双BOOT的引导方式,保证了在不修改现有BOOT的前提下,对现有系统应用进行升级;并且,这种处理方式不但极大地减少了升级现有设备BOOT所带来的巨大的工作量,同时也减少了由于修改现有BOOT所带来的风险。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种嵌入式系统的引导方法及装置。
背景技术
随着嵌入式技术的高速发展,嵌入式系统越来越多,功能也越来越强大。嵌入式设备的更新需求也随之产生。对于现有的嵌入式设备来说,在升级系统应用时,需要对现有的引导(BOOT)方式进行升级。固定的引导方式和已经固定在单板上的BOOT芯片给更换新的系统应用带来了难度,在工程上也产生巨大的工作量,增加了大量的成本。
现有的处理方法中,都是采用升级BOOT的方式来进行的。例如可以通过对硬件进行改造,更换BOOT,对BOOT进行升级,从而升级系统应用。这种方式虽然能解决今后的系统升级问题,但是对于第一次进行升级,需要更换BOOT,工程上同样存在着巨大的成本和风险,同时,由于增加了程序的复杂性,程序的稳定性也得不到很好的保证。
发明内容
为了解决上述技术问题,本发明提供了一种嵌入式系统的引导方法及装置,以在不需要修改现有BOOT的前提下,对现有设备的系统应用进行平滑切换和快速升级。
本发明提供了一种嵌入式系统的引导方法,该方法包括:
第一引导模块将系统应用解压缩到内存中;
所述第一引导模块将存储在可读写存储芯片中的新系统应用读取到内存中,所述新系统应用包含第二引导模块和所述系统应用;以及
所述第一引导模块将CPU控制权交由所述第二引导模块,所述第二引导模块引导所述系统应用运行。
优选地,上述引导方法可具有如下特点:所述新系统应用以所述第二引导模块和系统应用链接或者压缩成一个文件的形式存储在可读写存储芯片中。
优选地,上述引导方法还可具有如下特点:
所述第一引导模块将新系统应用读取到内存中包括:
若所述新系统应用为压缩格式,则所述第一引导模块对所述新系统应用进行解压缩操作,并将解压缩后的内容放入内存中;若所述新系统应用为非压缩格式,则所述第一引导模块直接读取所述新系统应用,并将读取后的内容放入内存中。
优选地,上述引导方法还可具有如下特点:
所述第二引导模块引导系统应用运行包括:所述第二引导模块传递参数给系统应用,引导系统应用运行。
优选地,上述引导方法还可具有如下特点:
所述第一引导模块将系统应用解压缩到内存中包括:所述第一引导模块读取存储在可读存储芯片中的系统应用,并对所述系统应用解压缩后放入内存中。
本发明还提供了一种嵌入式系统的引导装置,该装置包括第一引导模块和第二引导模块,其中:
所述第一引导模块,用于将系统应用解压缩到内存中;将存储在可读写存储芯片中的包含第二引导模块和所述系统应用的新系统应用读取到内存中;以及将CPU控制权交由所述第二引导模块;
所述第二引导模块,用于引导所述系统应用运行。
优选地,上述引导装置可具有如下特点:所述新系统应用以所述第二引导模块和系统应用链接或者压缩成一个文件的形式存储在可读写存储芯片中。
优选地,上述引导装置还可具有如下特点:
所述第一引导模块包括:
解压缩单元,用于当所述新系统应用为压缩格式时,对所述新系统应用进行解压缩操作,并将解压缩后的内容放入内存中;
读取单元,用于当所述新系统应用为非压缩格式时,直接读取所述新系统应用,并将读取后的内容放入内存中。
优选地,上述引导装置还可具有如下特点:
所述第二引导模块,进一步用于传递参数给系统应用,引导系统应用运行。
优选地,上述引导装置还可具有如下特点:所述第一引导模块,进一步用于读取存储在可读存储芯片中的系统应用,并对所述系统应用解压缩后放入内存中。
本发明的引导方法及引导装置,通过采用双BOOT的引导方式,保证了在不修改现有BOOT的前提下,对现有系统应用进行升级;并且,这种处理方式不但极大地减少了升级现有设备BOOT所带来的巨大的工作量,同时也减少了由于修改现有BOOT所带来的风险。
附图说明
图1是本发明所提出的双BOOT引导方式的第一阶段的流程图;
图2是本发明所提出的双BOOT引导方式的第二阶段的流程图;
图3是本发明在一种应用场景下BOOT1引导BOOT2实施例的流程示意图;
图4是本发明在一种应用场景下系统应用存储结构示意图;
图5是本发明嵌入式系统的引导装置实施例的结构示意图。
具体实施方式
下面结合附图对本发明的实施例进行详细地描述,应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
本发明通过在应用程序中增加一个新的BOOT,用该新的BOOT来引导系统应用,从而在不需要修改现有BOOT的前提下,对现有设备的系统应用进行平滑切换和快速升级。
本发明提供了一种嵌入式系统的引导方法,该方法包括:
第一引导模块将系统应用解压缩到内存中;
上述第一引导模块将存储在可读写存储芯片中的包含第二引导模块和上述系统应用的新系统应用读取到内存中;以及
上述第一引导模块将CPU控制权交由上述第二引导模块,上述第二引导模块引导上述系统应用运行。
本发明采用双BOOT的引导方式,在这里我们称原设备中的BOOT为BOOT1,即第一引导模块;新增在系统应用中的BOOT为BOOT2,即第二引导模块。
本发明提出的双BOOT引导方式主要分为两个阶段,BOOT1引导阶段和BOOT2引导阶段。
如图1所示,为本发明所提出的双BOOT引导方式的第一阶段的流程图,在该阶段,BOOT1主要是对硬件进行初始化,读取系统应用,解压缩系统应用到内存。具体步骤如下:
步骤101、系统上电后,CPU跳转到BOOT1首地址执行;
BOOT1存储在固化的可读存储芯片内,系统上电后,CPU跳转到BOOT1首地址执行;
步骤102、BOOT1启动,执行硬件的初始化操作;
BOOT1执行硬件自检和硬件初始化操作,系统应用采用一定的压缩算法压缩存储于可读存储芯片内;
步骤103、BOOT1执行系统应用存储芯片驱动程序;
BOOT1执行完硬件初始化操作后,开始跳转到系统应用所在的可读写的存储芯片的驱动代码部分执行,驱动芯片;
步骤104、BOOT1有选择地读取系统应用;
步骤105、BOOT1对读取的系统应用进行解压缩操作;
步骤106、BOOT1将解压缩后的系统应用放入内存指定的位置;
如果系统应用为压缩格式,BOOT1对其进行解压缩操作,并放入内存指定位置;如果系统应用为非解压缩格式,直接读取系统应用,并放入内存指定位置;
步骤107、BOOT1将CPU控制权交由系统应用,CPU跳转到应用入口执行;整个流程结束。
上述步骤,也是现有嵌入式设备所用的常规的一种BOOT引导方式。在上述实施例中,BOOT1与系统应用必须成对应关系,才能正常地引导系统应用。
如图2所示,为本发明所提出的双BOOT引导方式的第二阶段的流程图,在该阶段,BOOT2主要是对系统进行初始化操作,传递参数给系统应用,引导系统应用;该过程包括:
步骤201、BOOT2开始执行,对系统进行初始化操作;
步骤202、BOOT2执行结束,将CPU控制权交由系统应用;
步骤203、系统应用正常运行;本次处理流程结束。
在该实施例中,BOOT2与系统应用链接或者打包成一个文件存储在可读写存储芯片中,BOOT2的功能主要是对系统进行初始化操作,引导系统应用。在BOOT1阶段完成后,由于BOOT2无需依赖于BOOT1所提供的一些系统初始化参数,所以BOOT1能够跳到BOOT2的入口对BOOT2进行引导,BOOT1完成后,跳转到BOOT2运行,BOOT2开始运行,执行系统初始化操作,传递参数给系统应用,BOOT2跳转到系统应用入口执行,系统应用运行,双BOOT完成引导。
如图3所示,为本发明在一种应用场景下BOOT1引导BOOT2实施例的流程示意图,该过程包括:
步骤301、BOOT1解压缩系统应用到内存;
步骤302、BOOT1读取包含BOOT2的新系统应用到内存;
其中,新系统应用以BOOT2和系统应用链接或者打包成一个文件的形式存储在可读写存储芯片中,其存储结构如图4所示;
若新系统应用为压缩格式,则上述第一引导模块对其进行解压缩操作,并将解压缩后的内容放入内存中;若新系统应用为非压缩格式,则上述第一引导模块直接读取上述新系统应用,并将其放入内存中;
步骤303、BOOT1将CPU控制权交由BOOT2;
步骤304、BOOT2运行,BOOT2传递参数给系统应用,系统应用开始运行。
本发明的引导方法,通过采用双BOOT的引导方式,保证了在不修改现有BOOT的前提下,对现有系统应用进行升级;并且,这种处理方式不但极大地减少了升级现有设备BOOT所带来的巨大的工作量,同时也减少了由于修改现有BOOT所带来的风险。
本发明还提供了一种嵌入式系统的引导装置,可参见图5,该装置包括第一引导模块51和第二引导模块52,其中:上述第一引导模块用于将系统应用解压缩到内存中;将存储在可读写存储芯片中的包含第二引导模块和上述系统应用的新系统应用读取到内存中;以及将CPU控制权交由上述第二引导模块;上述第二引导模块用于引导上述系统应用运行。
其中,上述新系统应用以上述第二引导模块和系统应用链接或者压缩成一个文件的形式存储在可读写存储芯片中。
优选地,上述第一引导模块可以包括:解压缩单元,用于当上述新系统应用为压缩格式时,对上述新系统应用进行解压缩操作,并将解压缩后的内容放入内存中;读取单元,用于当上述新系统应用为非压缩格式时,直接读取上述新系统应用,并将读取后的内容放入内存中。
进一步地,上述第二引导模块可以用于传递参数给系统应用,引导系统应用运行。上述第一引导模块可以用于读取存储在可读存储芯片中的系统应用,对上述系统应用解压缩后放入内存中。
利用该引导装置可实现上述引导方法实施例所完成的功能,在此不赘述。
本发明的引导装置,通过采用第一引导模块和第二引导模块,保证了在不修改现有BOOT的前提下,对现有系统应用进行升级;并且,这种处理方式不但极大地减少了升级现有设备BOOT所带来的巨大的工作量,同时也减少了由于修改现有BOOT所带来的风险。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,上述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上上述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进,这些改进应视为本发明的保护范围。
Claims (10)
1.一种嵌入式系统的引导方法,其特征在于,包括:
第一引导模块将系统应用解压缩到内存中;
所述第一引导模块将存储在可读写存储芯片中的新系统应用读取到内存中,所述新系统应用包含第二引导模块和所述系统应用;以及
所述第一引导模块将CPU控制权交由所述第二引导模块,所述第二引导模块引导所述系统应用运行。
2.根据权利要求1所述的嵌入式系统的引导方法,其特征在于,所述新系统应用以所述第二引导模块和系统应用链接或者压缩成一个文件的形式存储在可读写存储芯片中。
3.根据权利要求2所述的嵌入式系统的引导方法,其特征在于,所述第一引导模块将新系统应用读取到内存中包括:
若所述新系统应用为压缩格式,则所述第一引导模块对所述新系统应用进行解压缩操作,并将解压缩后的内容放入内存中;
若所述新系统应用为非压缩格式,则所述第一引导模块直接读取所述新系统应用,并将读取后的内容放入内存中。
4.根据权利要求1所述的嵌入式系统的引导方法,其特征在于,所述第二引导模块引导系统应用运行包括:
所述第二引导模块传递参数给系统应用,引导系统应用运行。
5.根据权利要求1所述的嵌入式系统的引导方法,其特征在于,所述第一引导模块将系统应用解压缩到内存中包括:
所述第一引导模块读取存储在可读存储芯片中的系统应用,并对所述系统应用解压缩后放入内存中。
6.一种嵌入式系统的引导装置,其特征在于,该装置包括第一引导模块和第二引导模块,其中:
所述第一引导模块,用于将系统应用解压缩到内存中;将存储在可读写存储芯片中的包含第二引导模块和所述系统应用的新系统应用读取到内存中;以及将CPU控制权交由所述第二引导模块;
所述第二引导模块,用于引导所述系统应用运行。
7.根据权利要求6所述的嵌入式系统的引导装置,其特征在于,所述新系统应用以所述第二引导模块和系统应用链接或者压缩成一个文件的形式存储在可读写存储芯片中。
8.根据权利要求7所述的嵌入式系统的引导装置,其特征在于,所述第一引导模块包括:
解压缩单元,用于当所述新系统应用为压缩格式时,对所述新系统应用进行解压缩操作,并将解压缩后的内容放入内存中;
读取单元,用于当所述新系统应用为非压缩格式时,直接读取所述新系统应用,并将读取后的内容放入内存中。
9.根据权利要求6所述的嵌入式系统的引导装置,其特征在于:
所述第二引导模块,进一步用于传递参数给系统应用,引导系统应用运行。
10.根据权利要求6所述的嵌入式系统的引导装置,其特征在于,所述第一引导模块,进一步用于读取存储在可读存储芯片中的系统应用,并对所述系统应用解压缩后放入内存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105486037A CN102467397A (zh) | 2010-11-17 | 2010-11-17 | 嵌入式系统的引导方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105486037A CN102467397A (zh) | 2010-11-17 | 2010-11-17 | 嵌入式系统的引导方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102467397A true CN102467397A (zh) | 2012-05-23 |
Family
ID=46071069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105486037A Pending CN102467397A (zh) | 2010-11-17 | 2010-11-17 | 嵌入式系统的引导方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102467397A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105094927A (zh) * | 2015-08-28 | 2015-11-25 | 东方网力科技股份有限公司 | 一种设备固件升级方法和装置 |
CN110018852A (zh) * | 2018-01-10 | 2019-07-16 | 中兴通讯股份有限公司 | 一种系统二级引导方法、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567195A (zh) * | 2003-06-20 | 2005-01-19 | 华为技术有限公司 | 在嵌入式系统中实现引导程序热升级的方法 |
CN101137156A (zh) * | 2007-10-18 | 2008-03-05 | 中兴通讯股份有限公司 | 移动终端的信息保护方法 |
TW201027324A (en) * | 2009-01-14 | 2010-07-16 | Giga Byte Tech Co Ltd | Embedded electronic device free from being stuck in update failure and method of making the same |
-
2010
- 2010-11-17 CN CN2010105486037A patent/CN102467397A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567195A (zh) * | 2003-06-20 | 2005-01-19 | 华为技术有限公司 | 在嵌入式系统中实现引导程序热升级的方法 |
CN101137156A (zh) * | 2007-10-18 | 2008-03-05 | 中兴通讯股份有限公司 | 移动终端的信息保护方法 |
TW201027324A (en) * | 2009-01-14 | 2010-07-16 | Giga Byte Tech Co Ltd | Embedded electronic device free from being stuck in update failure and method of making the same |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105094927A (zh) * | 2015-08-28 | 2015-11-25 | 东方网力科技股份有限公司 | 一种设备固件升级方法和装置 |
CN105094927B (zh) * | 2015-08-28 | 2018-06-12 | 东方网力科技股份有限公司 | 一种设备固件升级方法和装置 |
CN110018852A (zh) * | 2018-01-10 | 2019-07-16 | 中兴通讯股份有限公司 | 一种系统二级引导方法、设备及存储介质 |
CN110018852B (zh) * | 2018-01-10 | 2021-10-15 | 中兴通讯股份有限公司 | 一种系统二级引导方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102622253B (zh) | 一种单片机及其在线升级的方法 | |
CN104781785A (zh) | 为应用从中间语言代码生成本机代码 | |
CN101452402A (zh) | 软件运行系统和软件运行方法 | |
CN103902305A (zh) | 基于ti dsp的软件远程加载与固化方法 | |
CN104407878A (zh) | C6000数字信号处理器在线升级方法 | |
CN110187909B (zh) | 一种基于安卓系统的单片机固件升级方法 | |
US20060143523A1 (en) | Apparatus and method for debugging embedded software | |
WO2008058469A1 (fr) | Procédé pour démarrer un dispositif embarqué | |
KR20110094047A (ko) | 전자 디바이스 및 전자 디바이스 시스템 | |
CN104503796A (zh) | 一种基于iap的可配置全网络远程节点固件升级方法 | |
CN110308920B (zh) | 一种不影响正常运行的在轨修改星上产品软件的方法 | |
CN112527370A (zh) | 一种对物联网设备进行远程差分升级的方法 | |
CN104991805B (zh) | 智能设备及其系统灾备控制方法 | |
CN102467397A (zh) | 嵌入式系统的引导方法及装置 | |
CN103729219B (zh) | 一种uefi bios架构方法及系统 | |
CN102740279A (zh) | 一种无线网络接入终端及其运行方法 | |
CN102945193A (zh) | 一种运行数据的恢复方法及电子设备 | |
US20010042241A1 (en) | Apparatus and method for executing program using just-in time-compiler system | |
JP2012118990A (ja) | アンチマルウェアスキャニングシステム及びその方法 | |
CN108228214A (zh) | 一种应用程序的更新方法、介质以及设备 | |
CN102520992B (zh) | 一种嵌入式系统启动方法及装置 | |
CN103631611A (zh) | 对光端机进行升级的方法及该设备 | |
CN107124446A (zh) | 应用程序下载方法、服务器及终端 | |
CN106681761B (zh) | 一种交互式升级的方法及系统 | |
KR101412614B1 (ko) | 웹 애플리케이션에 포함되는 자바스크립트를 aot 방식으로 컴파일하기 위한 방법, 단말 장치 및 컴퓨터 판독 가능한 기록 매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120523 |