CN102467397A - 嵌入式系统的引导方法及装置 - Google Patents

嵌入式系统的引导方法及装置 Download PDF

Info

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
internal memory
bootstrap
boot
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
Application number
CN2010105486037A
Other languages
English (en)
Inventor
李哲名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN2010105486037A priority Critical patent/CN102467397A/zh
Publication of CN102467397A publication Critical patent/CN102467397A/zh
Pending legal-status Critical Current

Links

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所述的嵌入式系统的引导装置,其特征在于,所述第一引导模块,进一步用于读取存储在可读存储芯片中的系统应用,并对所述系统应用解压缩后放入内存中。
CN2010105486037A 2010-11-17 2010-11-17 嵌入式系统的引导方法及装置 Pending CN102467397A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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) 一种单片机及其在线升级的方法
CN100570558C (zh) 一种芯片固件升级方法
CN103559066B (zh) 基于canopen协议的嵌入式软件升级方法
CN104102518B (zh) 一种双cpu系统及其程序升级方法
CN110597542B (zh) 软件自动ota升级方法及装置、电子设备
CN104781785A (zh) 为应用从中间语言代码生成本机代码
CN111857776B (zh) Dsp板卡类的应用程序的在线升级方法
CN104407878A (zh) C6000数字信号处理器在线升级方法
CN103106092A (zh) 终端设备中系统软件升级方法和装置
CN103902305A (zh) 基于ti dsp的软件远程加载与固化方法
CN110187909B (zh) 一种基于安卓系统的单片机固件升级方法
CN106686200B (zh) 移动应用程序更新方法、移动终端及更新系统
CN102141923B (zh) 内存文件系统加载方法及装置
CN103810416A (zh) 一种软件安装或卸载方法及装置
WO2008058469A1 (fr) Procédé pour démarrer un dispositif embarqué
KR101407628B1 (ko) 작업 수행 속도를 향상시키는 장치 및 방법
CN105808282A (zh) 一种更新应用程序网页内容的方法和装置
CN103729219B (zh) 一种uefi bios架构方法及系统
CN102740279A (zh) 一种无线网络接入终端及其运行方法
CN105760194A (zh) 一种dsp控制系统软件升级方法及装置
CN102467397A (zh) 嵌入式系统的引导方法及装置
CN114691178A (zh) 一种基于EtherCAT通讯驱动器的固件升级方法及装置
CN102520993A (zh) 在特异硬件平台上移植通用引导装载程序的方法
CN116700765A (zh) 伺服驱动器的固件升级方法及装置、伺服驱动器
CN106681761B (zh) 一种交互式升级的方法及系统

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