一种嵌入式系统中控制应用程序启动的方法和装置制造方法及图纸

技术编号:5177753 阅读:238 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开一种嵌入式系统中控制应用程序启动的方法和装置,在设备启动过程中,产生预设置配置数据,对所述预设置数据进行校验并产生校验结果,判断所述校验结果是否和次级启动程序中预置的校验值一致,如果一致,则执行次级启动程序。本发明专利技术的技术方案,在系统启动的时候,可以对所有要启动的应用程序进行控制,解决了对应用程序的启动进行控制的难点。本发明专利技术所述方法和装置具有较大的通用性,针对所有需要控制多个功能模块的启动的终端设备均适用,而且简单易行。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种嵌入式系统中控制应用程序启动的方法和装置
技术介绍
随着嵌入式系统设备的快速普及,嵌入式系统的应用得到了快速的发展。应用的 范围也从军事,工业,向民用快速发展,而民用的发展速度,又超越了前者。对很多已经在工 业领域取得一定技术积累的企业,需要一种能够快速向民用品过渡的方法。过渡的目的就 是把同类的产品,能够适用于多个应用场景。比如军用的定位系统过渡到民用定位系统等。 因此,对于嵌入式系统的技术,一次的研发成果,如果有通用的方法可以快速适用于多个场 景的应用,对于提高产品上市速度,迅速占领市场是非常有意义的。
技术实现思路
为实现上述目的,一种嵌入式系统中控制应用程序启动的方法,其特征在于在设 备启动过程中,产生预设置配置数据,对所述预设置数据进行校验并产生校验结果,判断所 述校验结果是否和次级启动程序中预置的校验值一致,如果一致,则执行次级启动程序。进一步地,所述校验包括在嵌入式系统的ROM中固化一个启动程序,增加对预配 置数据的校验。进一步地,所述校验包括预配置数据的完整性和合法性。进一步地,所述固化一个驱动程序包括将boot loader程序固化在系统中的ROM 当中,当系统加电之后,boot loader开始运行,在内存中预设一个校验数字S0,存放在boot loader中,作为预设置数据的校验结果,然后从预设值数据的数据段的首地址Pl开始进行 CRC16校验。进一步地,所述次级启动程序根据预定义的空间地址,逐段读取预配置数据,并将 其设置到应用程序的全局变量中,作为应用程序启动的参数。进一步地,所述应用程序完成各个应用程序模块的初始化并执行,在初始化的过 程中,首先获取次级启动程序设置的预置数据,然后开始根据预置数据作为参数启动每一 个应用程序模块,全部初始化完成后,设备开始正常运行。本专利技术还提出一种嵌入式系统中控制应用程序启动的装置,其特征在于所述装 置包括预设置配置数据模块、校验模块和次级启动模块;所述预设置配置数据模块在设备启动过程中,产生预设置配置数据;所述校验模块对所述预设置数据进行校验并产生校验结果,所述判断模块判断所述校验结果是否和次级启动程序中预置的校验值一致;所述次级启动模块在上述判断一致时,则执行次级启动程序。进一步地,所述校验包括在嵌入式系统的ROM中固化一个启动程序,增加对预配 置数据的校验。进一步地,所述固化一个驱动程序包括将boot loader程序固化在系统中的ROM 当中,当系统加电之后,boot loader开始运行,在内存中预设一个校验数字S0,存放在boot loader中,作为预设置数据的校验结果,然后从预设值数据的数据段的首地址Pl开始进行 CRC16校验。进一步地,所述次级启动程序根据预定义的空间地址,逐段读取预配置数据,并将 其设置到应用程序的全局变量中,作为应用程序启动的参数。总之,本专利技术的技术方案,在系统启动的时候,可以对所有要启动的应用程序进行 控制,解决了对应用程序的启动进行控制的难点。附图说明图1是本专利技术实施例中启动程序加载及校验配置数据流程示意图;图2是本专利技术中次级启动程序执行、设置配置数据的流程示意图;图3是本实施例中为应用程序启动,加载配置数据的流程示意图;图4是本专利技术嵌入式系统中控制应用程序启动的装置实施例示意图。具体实施例方式鉴于嵌入式系统对于不同应用场景控制应用程序启动的需要,本专利技术提出了一种 通过预配置模块控制应用程序启动的方法,解决了对应用程序的启动进行控制的难点。本专利技术主要主要思想包含在嵌入式系统的ROM中固化一个启动程序,在里面增加对预配置数据的校验。这 个校验包括预配置数据的完整性和合法性。在应用程序中增加一个预配置解析模块,启动程序(在本专利技术中程序也叫二次启 动)完成对预配置数据的校验之后,开始执行次级启动程序。次级启动程序从RAM中的预 设固定地址处开始设置预置数据。次级启动执行完毕后,开始执行主应用程序。主应用程序通过读取预设固定地址 处的数据,来设置应用程序启动的开或关。下面结合附图和具体实施例对本专利技术做详细说明。本专利技术公开了一种在嵌入式系统上通过预设置配置数据的方式控制应用程序启 动的方法,满足了不同应用领域控制应用程序启动的需要。本专利技术提供的这种在嵌入式系统上通过预设置配置数据的方式控制应用程序启 动的方法,是通过设备启动过程中,增加一个预设置配置数据模块来控制应用程序的启动。 首先有个boot loader是固化在系统中的ROM当中,当系统加电之后,boot loader开始运 行,在内存中预设一个校验数字S0,存放在bootloader中,作为预设置数据的校验结果。然 后从预设值数据的数据段的首地址Pl开始进行CRC16校验。将校验结果和次级启动模块 中预置的校验值进行比较,如果一致,则认为次级启动模块的值完整有效,并开始执行次级 启动模块。否则认为启动程序损坏,程序异常退出。请参考图1所示,是本专利技术实施例中启动程序加载及校验配置数据流程示意图, 其包括以下步骤SlOl 系统加电,bootloader开始执行;S102 预设一个校验数字SO ;S103 对预设置数据的数据段进行CRC16校验;S104 比对结果是否一致,如果一致,进入步骤S106,如果不一致,进入步骤S105 ;S105 次级启动模块损坏,程序异常退出;S106 次级启动模块数据完整有效,开始执行次级启动。本实施例中,次级启动模块开始执行之后,首先对主应用程序模块进行校验。校验 的过程与启动程序模块的boot loader对次级启动模块的校验算法一致。校验计算结束后, 对校验结果和主应用程序模块内置的校验结果进行对比,如果不一致,程序异常退出。如果 一致,次级启动模块开始读取配置数据的数据段。这个数据段是用来控制应用程序启动的 关键。次级启动程序根据预定义的空间地址,逐段读取预配置数据,并将其设置到应用程序 的全局变量中,作为应用程序启动的参数。参考图2为本专利技术中次级启动程序执行、设置配置数据的流程示意图,其包括以 下步骤S201 次级启动模块开始执行;S202:检验主应用程序模块,如果校验结果和主应用程序模块内置的校验结果不 一致,程序异常退出,如果一致,则转入步骤S203 ;S203 读取配置数据的数据段;S204 将配置数据设置到应用程序的全局变量中;S205 流程结束。应用程序的主要任务就是完成各个应用程序模块的初始化并执行。在初始化的过 程中,首先获取次级启动模块设置的预置数据,然后开始根据预置数据作为参数启动每一 个应用程序模块。全部初始化完成后,设备开始正常运行。请参考图3,是本实施例中为应用程序启动,加载配置数据的流程示意图,其包括 以下步骤S301 应用程序模块开始启动;S302 加载已作为全局变量的配置数据;S303 以这些全局变量为参数启动应用程序;S304 完成初始化,设备开始正常使用。请参考图4所示,是本专利技术嵌入式系统中控制应用程序启动的装置实施例示意 图,如图4所示,所述装置包括预设置配置数据模块、校验模块、预配置解析模块、判断模 块、次级启动模块、主应用程序模块。 所述预设置配置数据模块用于产生预设值数据的数据段。所述校验模块,在嵌入式系统的ROM中固化,对预本文档来自技高网...

【技术保护点】

【技术特征摘要】
一种嵌入式系统中控制应用程序启动的方法,其特征在于在设备启动过程中,产生预设置配置数据,对所述预设置数据进行校验并产生校验结果,判断所述校验结果是否和次级启动程序中预置的校验值一致,如果一致,则执行次级启动程序。2.如权利要求1所述的方法,其特征在于所述校验包括在嵌入式系统的ROM中固化 一个启动程序,增加对预配置数据的校验。3.如权利要求2所述的方法,其特征在于所述校验包括预配置数据的完整性和合法性。4.如权利要求2所述的方法,其特征在于所述固化一个驱动程序包括将bootloader 程序固化在系统中的ROM当中,当系统加电之后,boot loader开始运行,在内存中预设一 个校验数字S0,存放在boot loader中,作为预设置数据的校验结果,然后从预设值数据的 数据段的首地址Pl开始进行CRC16校验。5.如权利要求1所述的方法,其特征在于所述次级启动程序根据预定义的空间地址, 逐段读取预配置数据,并将其设置到应用程序的全局变量中,作为应用程序启动的参数。6.如权利要求5所述的方法,其特征在于所述应用程序完成各个应用程序模块的初 始化并执行,在初始化的过程中,首先获取次级启动程序设置的预置数据,然后开始...

【专利技术属性】
技术研发人员:朱作义王科平谭冠军
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1