引导嵌入式操作系统启动的方法和装置.pdf

上传人:000****221 文档编号:974008 上传时间:2018-03-22 格式:PDF 页数:11 大小:433.71KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910169919.2

申请日:

2009.09.08

公开号:

CN101639786A

公开日:

2010.02.03

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06F 9/445申请公布日:20100203|||实质审查的生效|||公开

IPC分类号:

G06F9/445

主分类号:

G06F9/445

申请人:

中兴通讯股份有限公司

发明人:

梁 冬

地址:

518057广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部

优先权:

专利代理机构:

北京市浩天知识产权代理事务所

代理人:

许志勇

PDF下载: PDF下载
内容摘要

本发明公开了一种引导嵌入式操作系统启动的方法和装置,属于嵌入式领域。该方法包括:将启动映像划分成第一引导代码和第二引导代码;中央处理器执行所述第一引导代码;根据所述第二引导代码引导所述嵌入式操作系统启动。该装置包括:启动映像制作模块、执行模块和引导模块。本发明提供的技术方案可以很好的适应启动系统的现场应用,灵活性很强。

权利要求书

1、  一种引导嵌入式操作系统启动的方法,其特征在于,所述方法包括:
将启动映像划分成第一引导代码和第二引导代码;
中央处理器执行所述第一引导代码;
根据所述第二引导代码引导所述嵌入式操作系统启动。

2、
  如权利要求1所述的方法,其特征在于,所述第二引导代码为两份,其中一份作为主用第二引导代码,另一份作为备用第二引导代码;
当根据所述主用第二引导代码所述嵌入式操作系统启动失败时,所述中央处理器重新启动;
所述中央处理器再次执行所述第一引导代码;
根据所述备用第二引导代码引导所述嵌入式操作系统启动。

3、
  如权利要求1所述的方法,其特征在于,还包括:对所述第一引导代码和/或所述第二引导代码进行升级处理的步骤。

4、
  如权利要求1所述的方法,其特征在于,当所述第二引导代码经过压缩,在根据所述第二引导代码引导所述嵌入式操作系统之前,还包括:
对所述第二引导代码进行解压缩的步骤。

5、
  如权利要求1-4任意一项权利要求所述的方法,其特征在于,还包括,所述第一引导代码和第二引导代码烧结在一块只读存储器ROM中。

6、
  一种引导嵌入式操作系统启动的装置,其特征在于,所述装置包括:
启动映像制作模块,用于制作和存储启动映像,所述启动映像划分成第一引导代码和第二引导代码;
执行模块,用于执行所述第一引导代码;
引导模块,用于根据所述第二引导代码引导所述嵌入式操作系统启动。

7、
  如权利要求6所述的装置,其特征在于,所述第二引导代码为两份,其中一份作为主用第二引导代码,另一份作为备用第二引导代码;相应地,
所述引导模块,还用于当根据所述主用第二引导代码所述嵌入式操作系统启动失败时,重新启动所述装置;
所述执行模块,还用于再次执行所述第一引导代码;
所述引导模块,还用于根据所述备用第二引导代码引导所述嵌入式操作系统启动。

8、
  如权利要求6所述的装置,其特征在于,还包括:升级模块,用于对所述第一引导代码和/或所述第二引导代码进行升级处理。

9、
  如权利要求6所述的装置,其特征在于,当所述第二引导代码经过压缩,在根据所述第二引导代码引导所述嵌入式操作系统之前,还包括:解压缩模块,用于对所述第二引导代码进行解压缩。

10、
  如权利要求6-9任意一项权利要求所述的装置,其特征在于,所述启动映像制作模块为只读存储器ROM。

说明书

引导嵌入式操作系统启动的方法和装置
技术领域
本发明属于嵌入式领域,特别涉及一种引导嵌入式操作系统启动的方法和装置。
背景技术
在嵌入式领域中,嵌入式操作系统往往需要一个类似于个人计算机(PC,Personal Computer)的基本输入输出系统(BIOS,Basic Input and OutputSystem)一样的启动映像(boot image)来引导启动。启动映像,它的作用是将嵌入式操作系统加载到主板上。boot image只初始化很少的硬件系统如串口,网口等,为加载嵌入式操作系统做准备,当加载完毕后,启动映像的作用即完成。启动映像一般存放在存储芯片,该存储芯片可以是只读存储器(ROM,Read Only Memory),可读写存储器等。启动映像是应用在工厂生产时或者在产品开发调试和测试阶段,常用专用烧写装置烧写。产品出厂后应用到市场上由于烧写器资源有限和烧写操作方法繁琐,大多用引导中央处理器(CPU,Central Processing Unit)采用在线编程的方法把启动映像写入只读存储器(ROM,Read-Only Memory)芯片中。但是在实际操作过程中由于种种原因有时会导致在线编程失败,如果对启动映像在线编程失败,系统将不能启动,现场也无法恢复,进而给项目产品带了重大故障,现场应用灵活性差。
发明内容
本发明要解决的技术问题是提供一种引导嵌入式操作系统启动的方法和装置,以解决现有技术中在线编程失败,现场无法恢复以及在线编程方式对现场应用灵活性差的问题。
为了解决上述问题,本发明提供了一种引导嵌入式操作系统启动的方法和装置,具体的技术方案如下:
一种引导嵌入式操作系统启动的方法,所述方法包括:
将启动映像划分成第一引导代码和第二引导代码;
中央处理器执行所述第一引导代码;
根据所述第二引导代码引导所述嵌入式操作系统启动。
一种引导嵌入式操作系统启动的装置,所述装置包括:
启动映像制作模块,用于制作和存储启动映像,所述启动映像划分成第一引导代码和第二引导代码;
执行模块,用于执行所述第一引导代码;
引导模块,用于根据所述第二引导代码引导所述嵌入式操作系统启动。
在本发明实施例中,通过将启动映像划分成第一引导代码和第二引导代码,执行第一引导代码,并根据第二引导代码引导嵌入式操作系统启动,可以很好的适应启动系统的现场应用,灵活性很强。
附图说明
图1是本发明实施例提供的一种引导嵌入式操作系统启动的方法的流程图;
图2是本发明实施例提供的一种引导嵌入式操作系统启动的方法的详细流程图;
图3是本发明实施例提供的一种启动映像分布和VxWorks image启动的顺序示意图;
图4是本发明实施例提供的一种引导嵌入式操作系统启动的装置。
具体实施方式
本发明的核心思想是:通过将启动映像划分成第一引导代码和第二引导代码,执行第一引导代码,并根据第二引导代码引导嵌入式操作系统启动,可以很好的适应启动系统的现场应用,灵活性很强。
下面结合附图及优选实施方式对本发明的技术方案进行进一步的详细说明。
本发明实施例提供了一种引导嵌入式操作系统的方法,如图1所示,包括:
S101,将启动映像划分成第一引导代码和第二引导代码;
S102,中央处理器执行第一引导代码;
S103,根据第二引导代码引导嵌入式操作系统启动;
进一步地,该第二引导代码为两份,其中一份作为主用第二引导代码,另一份作为备用第二引导代码,相应地,该方法还包括:
当根据主用第二引导代码嵌入式操作系统启动失败时,所述中央处理器重新启动;
中央处理器再次执行第一引导代码;
根据备用第二引导代码引导嵌入式操作系统启动。
进一步地,还包括对第一引导代码和/或第二引导代码进行升级处理的步骤。
进一步地,当第二引导代码经过压缩,在根据启动控制开关的指示将第二引导代码写入RAM之前,该方法还包括:
对第二引导代码进行解压缩的步骤。
进一步地,该方法还包括:在出厂前,将第一引导代码和第二引导代码烧结在一块只读存储器ROM中。
下面以嵌入式操作系统VxWorks为例对上述实施例进行详细的描述,但本发明的保护范围并不限于该实施例,其中,嵌入式操作系统还可以是Linux操作系统等。
针对VxWorks系统编译的启动映像是单独编译的,很容易分离开。启动映像分为引导带代码(BootStrap Programs)和引导代码(Boot Programs),在本实施例中,第一引导代码为引导带代码,第二引导代码为引导代码。其中,引导带代码的作用是完成目标机的最小初始化操作,同时,引导带代码也用于引导CPU将引导代码写入RAM中;引导代码用于引导VxWorks系统启动。其中,对引导代码进行备份,其中一份为主用引导代码,另一份为备用引导代码。在出厂前,将引导带代码、主用引导代码和备用引导代码烧写在一块ROM中。
具体地,结合图2和图3所示,该方法包括:
在CPU寻址范围内的存储空间的1个比特位来做控制开关,并且结合看门狗(watch dog)实现自动切换存储区的自动切换功能,1比特只是为了描述方便,本发明的保护范围并不限于该数值。
CPU上电(S201),CPU的编程计数器(PC,Program Counter)从存储芯片的第一存储分区执行引导带代码,通过执行引导带代码可以完成目标机的最小初始化操作(S202)。使能看门狗,备份启动标记位(boot_flag),使boot_flag_bak=boot_flag(把boot_flag赋值给boot_flag_bak)(S203),并根据boot_flag将引导代码的代码段和数据段从存储芯片写入RAM。判断boot_flag是否为0(S204),当boot_flag为0时,将boot_flag置为1(S205),同时,解压主用引导代码到RAM_HIGH_ADRS(S206),即通过主用引导代码引导嵌入式操作系统启动。如果boot_flag=1(boot_flag为1)时(S207),表示从主用引导代码启动失败时,此时,解压备用引导代码到RAM_HIGH_ADRS(S208),即通过备用引导代码引导嵌入式操作系统启动,如图3所示。
CPU判断PC是否跳转到引导代码的装入点(RAM_HIGH_ADRS)(S209),如图3所示;如果不是,则CPU重新上电启动(S210);如果是,则首先喂看门狗,并关闭看门狗(S211)。将备份的启动标记位再赋给boot_flag,即boot_flag=boot_flag_bak(S212)。然后把VxWorks image写入到RAM的RAM_HIGH_ADRS(S213),最后CPU的pc跳转到VxWorks image装入点(RAM_LOW_ADRS)运行(S214),如图3所示。然后执行静态链接在VxWorks image里的系统初始化代码,最终完成系统初始化操作(S215)。
此外,由于在升级启动映像版本时,升级引导带代码的几率很小,一般只需升级引导代码,因此在升级启动映像版本时,一般只需根据存储芯片的存储分区的划分升级第二存储区的第一存储分区的主用引导代码,以及第二存储分区的备用引导代码,除非特殊情况需要升级第一存储区的引导带代码,此时需要升级整个启动映像。
基于与方法实施例相同的发明构思,本发明实施例提供了一种引导嵌入式操作系统启动的装置,如图4所示,该装置包括:
启动映像制作模块,用于制作和存储启动映像,该启动映像划分成第一引导代码和第二引导代码;
执行模块,用于执行第一引导代码;
引导模块,用于根据第二引导代码引导所述嵌入式操作系统启动。
进一步地,第二引导代码为两份,其中一份作为主用第二引导代码,另一份作为备用第二引导代码,相应地,引导模块,还用于当根据主用第二引导代码嵌入式操作系统启动失败时,装置重新启动;执行模块,还用于再次执行第一引导代码;引导模块,还用于根据备用第二引导代码引导嵌入式操作系统启动。
进一步地,该装置还包括:升级模块,用于对第一引导代码和/或第二引导代码进行升级处理。
进一步地,当第二引导代码经过压缩,在根据第二引导代码引导所述嵌入式操作系统之前,还包括:解压缩模块,用于对第二引导代码进行解压缩。
进一步地,该启动映像制作模块为只读存储器ROM。
在本发明实施例中,通过将启动映像划分成第一引导代码和第二引导代码,执行第一引导代码,并根据第二引导代码引导嵌入式操作系统启动,可以很好的适应启动系统的现场应用,灵活性很强,可以很好的适应启动系统的现场应用,灵活性很强。还可以充分利用存储资源,降低生产成本。同时在升级时,只需升级第二引导代码,工作量小,成本低廉。
本发明所述方案,并不仅仅限于说明书和实施方式中所列运用。对本发明技术所属领域的普通技术人员来说,可根据本发明做出各种相应的改变和变形,而所有这些相应的改变和变形都属于本发明权利要求的保护范围。

引导嵌入式操作系统启动的方法和装置.pdf_第1页
第1页 / 共11页
引导嵌入式操作系统启动的方法和装置.pdf_第2页
第2页 / 共11页
引导嵌入式操作系统启动的方法和装置.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《引导嵌入式操作系统启动的方法和装置.pdf》由会员分享,可在线阅读,更多相关《引导嵌入式操作系统启动的方法和装置.pdf(11页珍藏版)》请在专利查询网上搜索。

本发明公开了一种引导嵌入式操作系统启动的方法和装置,属于嵌入式领域。该方法包括:将启动映像划分成第一引导代码和第二引导代码;中央处理器执行所述第一引导代码;根据所述第二引导代码引导所述嵌入式操作系统启动。该装置包括:启动映像制作模块、执行模块和引导模块。本发明提供的技术方案可以很好的适应启动系统的现场应用,灵活性很强。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1