嵌入式系统及其程序运行的管理方法技术方案

技术编号:19592910 阅读:21 留言:0更新日期:2018-11-28 04:43
一种嵌入式系统及其程序运行的管理方法,使嵌入式系统在上电启动后,首先、运行BOOT代码,用于将二次BOOT代码搬运到RAM中;然后、运行二次BOOT代码,用于配置初始化参数及搬运主程序代码到RAM中;最后、运行主程序代码。本发明专利技术便于纠错,有利于提高系统的可靠性。

【技术实现步骤摘要】
嵌入式系统及其程序运行的管理方法
本专利技术涉及嵌入式系统,特别涉及嵌入式系统的程序运行的管理方法。
技术介绍
BOOT代码(BootLoader)是在嵌入式系统的主程序代码运行之前运行的一段小程序。通过运行这段小程序,可以初始化硬件设备以及建立内存空间的映射图,从而将嵌入式系统配置到一个合适的状态,以便于后续运行主程序代码。通常,BOOT代码严重地依赖于嵌入式系统的硬件。参见图1,现有的嵌入式系统中包括BOOT代码101和主程序代码105。其中,BOOT代码101一般是存储在ROM(ReadOnlyMemory,只读存储器)中,主程序代码105存储在RAM(RandomAccessMemory,随机存储器)中。运行BOOT代码101能够将初始存储在其它非易失性存储器中的主程序代码搬运到RAM中,并可以配置初始化参数。这种的嵌入式系统存在一些缺陷:BOOT代码101越复杂,越容易出错,一旦BOOT代码101出错,难以更改和进行纠错补过,从而会导致系统无法正常运行;通过BOOT代码101将主程序代码105从非易失性存储器搬运到RAM中,由于主程序代码105通常比较庞大,所需搬运时间较长,会影响到系统上电的正确响应,进而导致不能及时纠正BOOT代码101的错误。可见,现有的嵌入式系统的程序运行的管理方法不便于纠错,系统可靠性不高,实有必要予以改进。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,本专利技术提出了一种嵌入式系统的程序运行的管理方法,便于纠错,有利于提高系统的可靠性。本专利技术解决其技术问题所采用的技术方案包括:提供一种嵌入式系统的程序运行的管理方法,使嵌入式系统在上电启动后,首先、运行BOOT代码,用于将二次BOOT代码搬运到RAM中;然后、运行二次BOOT代码,用于配置初始化参数及搬运主程序代码到RAM中;最后、运行主程序代码。其中,使BOOT代码存储在ROM中。其中,使二次BOOT代码初始存储在非易失性存储器中。其中,使主程序代码初始存储在非易失性存储器中。其中,在BOOT代码存在错误的情形时,在运行二次BOOT代码时,优先处理纠错操作。本专利技术解决其技术问题所采用的技术方案还包括:提供一种嵌入式系统,该嵌入式系统在上电启动后,首先、运行BOOT代码,用于将二次BOOT代码搬运到RAM中;然后、运行二次BOOT代码,用于配置初始化参数及搬运主程序代码到RAM中;最后、运行主程序代码。与现有技术相比,本专利技术的嵌入式系统,通过将现有的BOOT代码分拆为BOOT代码和二次BOOT代码,令BOOT代码仅限于实现将二次BOOT代码搬运到RAM中,由二次BOOT代码去实现现有的BOOT代码的主体工作:进行系统参数配置;以及搬运主程序代码到RAM中,由于二次BOOT代码具有可更改属性,因此可以极大地增强系统BOOT的灵活性,便于纠错,有利于提高系统可靠性。附图说明图1为现有的嵌入式系统的程序运行的管理方法示意。图2为本专利技术的嵌入式系统的程序运行的管理方法示意。图3为本专利技术的嵌入式系统运行BOOT代码的示意。图4为本专利技术的嵌入式系统运行主程序代码的示意。图5为本专利技术的嵌入式系统的程序运行的管理方法的流程示意。其中,主要附图标记说明如下:101、BOOT代码,105、主程序代码;201、BOOT代码,203、二次BOOT代码,2031、运行二次BOOT代码实现的功能,205、主程序代码;301、用于存储BOOT代码的ROM,303、用于存储二次BOOT代码的RAM,305、用于存储主程序代码的RAM,307、CPU(中央处理器)。具体实施方式现结合附图,对本专利技术的较佳实施例作详细说明。参见图2,图2为本专利技术的嵌入式系统的程序运行的管理方法示意。本专利技术提出一种嵌入式系统的程序运行的管理方法,本专利技术的嵌入式系统中包括BOOT代码201、二次BOOT代码203和主程序代码205。其中,BOOT代码101存储在ROM中,二次BOOT代码203和主程序代码105存储在RAM中。运行BOOT代码201能够将初始存储在其它非易失性存储器中的二次BOOT代码203搬运到RAM中。运行二次BOOT代码203能够将初始存储在其它非易失性存储器中的主程序代码205搬运到RAM中,并可以配置初始化参数。这种的嵌入式系统,由于运行BOOT代码201只用于搬运二次BOOT代码203,因此BOOT代码201较简单,不容易出错;另外,由于二次BOOT代码203比主程序代码205小,运行BOOT代码201的过程对系统上电适时性影响可以做到很低甚至没有影响。值得一提的是,这种的程序运行的管理方法,二次BOOT代码203和主程序代码205初始可以存储在外部可修改的Nor-flash、NAND-flash以及嵌入式的flash、MTP(多次可编程)等存储介质中。对于BOOT代码201中存在的错误,可以通过二次BOOT代码203予以纠正。举例而言,BOOT代码201的任务包括:1.搬运二次BOOT代码。2.设置系统初始化参数A,假设A参数为错误参数。则,二次BOOT代码203的任务包括:由于事先已经知道BOOT代码201存在错误,因此可以在二次BOOT代码203中增设一任务:将前述的参数A修订为参数B,其中B参数为正确参数。较佳地,二次BOOT代码203的任务排列为:1.设置初始化参数B;2.搬运主程序代码;3.启动主程序代码的运行。也即,纠错操作优先处理,以尽量减少BOOT代码201存在错误所造成的影响。参见图3,图3为本专利技术的嵌入式系统运行BOOT代码的示意。运行BOOT代码的过程具体包括:CPU307读取存储在ROM中的BOOT代码301;CPU307运行BOOT代码301,将二次BOOT代码303搬运到RAM中;然后,运行RAM中的二次BOOT代码303。这个过程不涉及RAM中的主程序代码305。参见图4,图4为本专利技术的嵌入式系统运行主程序代码的示意。运行主程序代码的过程具体包括:CPU307读取存储在RAM中的二次BOOT代码303;CPU307运行二次BOOT代码303,将主程序代码305搬运到RAM中;然后,运行RAM中的主程序代码305。这个过程不涉及ROM中的BOOT代码301。参见图5,图5为本专利技术的嵌入式系统的程序运行的管理方法的流程示意。本专利技术的管理方法的流程具体包括以下步骤:S501、CPU复位,程序从起始地址开始运行;S503、运行ROM中的BOOT代码,对CPU参数初始化;S505、搬运二次BOOT代码至RAM中;S507、运行RAM中的二次BOOT代码;S509、通过二次BOOT代码的运行,设置系统参数;S511、通过二次BOOT代码的运行,搬运主程序代码到RAM;S513、运行RAM中的主程序代码。与现有技术相比,本专利技术的嵌入式系统的有益之处至少包括:通过将现有的BOOT代码101分拆为BOOT代码201和二次BOOT代码203,令BOOT代码201仅限于实现将二次BOOT代码203搬运到RAM中,由二次BOOT代码203去实现现有的BOOT代码101的主体工作:进行系统参数配置;以及搬运主程序代码到RAM中,由于二次BOOT代码203具有可更改属性,因此可以极大地增强系统BOOT的灵活性,解决现本文档来自技高网...

【技术保护点】
1.一种嵌入式系统的程序运行的管理方法,其特征在于,使嵌入式系统在上电启动后,首先、运行BOOT代码,用于将二次BOOT代码搬运到RAM中;然后、运行二次BOOT代码,用于配置初始化参数及搬运主程序代码到RAM中;最后、运行主程序代码。

【技术特征摘要】
1.一种嵌入式系统的程序运行的管理方法,其特征在于,使嵌入式系统在上电启动后,首先、运行BOOT代码,用于将二次BOOT代码搬运到RAM中;然后、运行二次BOOT代码,用于配置初始化参数及搬运主程序代码到RAM中;最后、运行主程序代码。2.根据权利要求1所述的管理方法,其特征在于,使BOOT代码存储在ROM中。3.根据权利要求1所述的管理方法,其特征在于,使二次BOOT代码初始存储在非易失性存储器中。4.根据权利要求1所述的管理方法,其特征在于,使主程序代码初始存储在非易失性存储器中。5.根据权利要求1所述的管理方法,其特征在于,在BOOT代码存在错误的情形时,在运行二次BOOT代码时,优先处理纠错...

【专利技术属性】
技术研发人员:成守红
申请(专利权)人:深圳市方为半导体有限公司
类型:发明
国别省市:广东,44

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

1