一种嵌入式系统程序烧录方法及系统的制作方法

文档序号:6524542阅读:164来源:国知局
一种嵌入式系统程序烧录方法及系统的制作方法
【专利摘要】本申请提供了一种嵌入式系统程序烧录方法,包括:嵌入式系统中的主处理器在接收到烧录指令时,从与所述嵌入式系统连接的外部存储设备中读取烧录引导程序;所述主处理器运行所述烧录引导程序,引导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备中的待烧录文件烧录至所述嵌入式系统的Flash中,所述预设烧录脚本存储在所述外部存储设备中。因此,本申请缩短了烧录时间,提高了烧录效率。
【专利说明】一种嵌入式系统程序烧录方法及系统
【技术领域】
[0001]本申请涉及嵌入式【技术领域】,特别涉及一种嵌入式系统程序烧录方法及系统。
【背景技术】
[0002]随着嵌入式系统应用越来越广泛,对嵌入式系统的开发要求也越来越高。
[0003]其中,嵌入式系统的程序烧写是嵌入式系统开发过程中必不可少的步骤,即将二进制程序文件写入存储设备中,这些文件往往包括引导程序(Boot Loader)、内核、根文件系统及应用程序等。
[0004]目前,常用的烧写方法为,通过烧录器将用于引导内核、根文件系统运行的引导程序Boot Loader、内核以及根文件系统等一起烧录至Flash (闪存,Flash Memory)中,这种方法的缺点是烧录速度慢。为了解决烧录器烧录速度慢的问题,提出了使用软件类烧录工具将Boot Loader、内核以及根文件系统烧录至嵌入式系统的Flash中的烧录方法,但是软件类烧录工具依赖于内核、根文件系统运行,需要在内核、根文件系统运行起来后,才能将待烧录文件写入嵌入式系统中的Flash中。由于软件类烧录工具必须在内核、根文件系统中运行起来后才能将烧录文件写入嵌入式系统的Flash中,而内核、根文件系统运行起来所需的时间较长,因此使得将待烧录文件写入嵌入式系统的Flash中的时间延长,降低了烧录效率。

【发明内容】

[0005]为解决上述技术问题,本申请实施例提供一种嵌入式系统程序烧录方法及系统,以达到缩短烧录时间,提高烧录效率的目的,技术方案如下:
[0006]一种嵌入式系统程序烧录方法,包括:
[0007]嵌入式系统中的主处理器在接收到烧录指令时,从与所述嵌入式系统连接的外部存储设备中读取烧录引导程序;
[0008]所述主处理器运行所述烧录引导程序,引导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备中的待烧录文件烧录至所述嵌入式系统的Flash中,所述预设烧录脚本存储在所述外部存储设备中;
[0009]其中,所述待烧录文件至少包括:用于引导内核、根文件系统运行的引导程序BootLoader、内核、根文件系统及应用程序。
[0010]优选的,在读取烧录引导程序之后,运行所述烧录引导程序之前,还包括:
[0011]将读取到的烧录引导程序写入所述嵌入式系统的内存中。
[0012]优选的,在将所述外部存储设备中的待烧录文件烧录至所述嵌入式系统的Flash中之后,还包括:
[0013]移除所述外部存储设备,重启所述嵌入式系统。
[0014]优选的,所述主处理器运行所述烧录引导程序,引导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备中的待烧录文件烧录至所述嵌入式系统的Flash中的过程,包括:
[0015]所述主处理器运行所述烧录引导程序,引导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备中的待烧录文件包括的各个子文件逐一烧录至Flash的指定地址中;
[0016]所述各个子文件分别为Boot Loader、内核、根文件系统及应用程序。
[0017]优选的,所述嵌入式系统中的主处理器从与所述嵌入式系统连接的外部存储设备中读取烧录引导程序包括:
[0018]嵌入式系统中的主处理器从与所述嵌入式系统连接的SD卡中读取烧录引导程序;
[0019]或,嵌入式系统中的主处理器从与所述嵌入式系统连接的USB闪存驱动器中读取烧录引导程序。
[0020]一种嵌入式系统程序烧录系统,包括:
[0021]嵌入式系统中的主处理器,用于在接收到烧录指令时,从与所述嵌入式系统连接的外部存储设备中读取烧录引导程序,运行所述烧录引导程序,引导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备中的待烧录文件烧录至所述嵌入式系统的Flash中;
[0022]外部存储设备,用于存储所述烧录引导程序、预设烧录脚本和所述待烧录文件;
[0023]Flash,用于存储所述主处理器烧录的待烧录文件;
[0024]其中,所述待烧录文件至少包括:用于引导内核、根文件系统运行的引导程序BootLoader、内核、根文件系统及应用程序。
[0025]优选的,还包括:
[0026]写入模块,用于在读取烧录弓I导程序之后,运行所述烧录弓I导程序之前,将读取到的烧录引导程序写入所述嵌入式系统的内存中。
[0027]优选的,还包括:
[0028]重启模块,用于在移除所述外部存储设备之后,重启所述嵌入式系统。
[0029]优选的,所述主处理器包括:
[0030]处理单元,用于运行所述烧录引导程序,引导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备中的待烧录文件包括的各个子文件逐一烧录至Flash的指定地址中;
[0031]所述各个子文件分别为Boot Loader、内核、根文件系统及应用程序。
[0032]优选的,所述外部存储设备包括:
[0033]SD卡或USB闪存驱动器。
[0034]与现有技术相比,本申请的有益效果为:
[0035]在本申请中,由于嵌入式系统中的主处理器在接收到烧录指令时,从外部存储设备中读取烧录引导程序,通过运行读取到的烧录引导程序,引导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备中的待烧录文件烧录至所述嵌入式系统的Flash中,因此,无需在内核和根文件系统运行起来后,再进行烧录,缩短了烧录时间,提高了烧录效率。
[0036]进一步的,由于嵌入式系统中的主处理器在接收到烧录指令时,从外部存储设备中读取的是烧录引导程序,而未读取外部存储设备中引导内核和根文件系统运行的引导程序,未让内核和根文件系统运行,降低了主处理器的资源占用率,提高了嵌入式系统的烧录性能。
【专利附图】

【附图说明】
[0037]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0038]图1是本申请提供的一种嵌入式系统程序烧录方法的一种流程图;
[0039]图2是本申请提供的一种嵌入式系统程序烧录方法的另一种流程图;
[0040]图3是本申请提供的一种嵌入式系统程序烧录系统的一种结构示意图;
[0041]图4是本申请提供的一种嵌入式系统程序烧录系统的另一种结构示意图。
【具体实施方式】
[0042]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0043]本申请提供一种嵌入式系统程序烧录方法,嵌入式系统中的主处理器在接收到烧录指令时,从与所述嵌入式系统连接的外部存储设备中读取烧录引导程序;所述主处理器运行所述烧录引导程序,引导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备中的待烧录文件烧录至所述嵌入式系统的Flash中,所述预设烧录脚本存储在所述外部存储设备中;其中,所述待烧录文件至少包括:用于引导内核、根文件系统运行的引导程序Boot Loader、内核、根文件系统及应用程序。下面将列举实施例对本申请提供的一种嵌入式系统程序烧录方法进行说明。
[0044]一个实施例
[0045]请参见图1,其示出了本申请提供的一种嵌入式系统程序烧录方法的一种流程图,可以包括以下步骤:
[0046]步骤Sll:嵌入式系统中的主处理器在接收到烧录指令时,从与所述嵌入式系统连接的外部存储设备中读取烧录引导程序。
[0047]在本实施例中,嵌入式系统中可以设置拨码开关,实现嵌入式系统从外部存储设备启动。嵌入式系统从外部存储设备启动即嵌入式系统中的主处理器在接收到通过拨码开关发送的烧录指令时,主处理器从与嵌入式系统连接的外部存储设备中读取烧录引导程序。
[0048]当然,也可以通过嵌入式系统上电即默认从嵌入式系统连接的外部存储设备中读取烧录引导程序。
[0049]烧录弓I导程序用于引导预设烧录脚本。
[0050]其中,烧录引导程序的生成过程具体可以为:首先对引导程序Boot Loader的源码进行修改,编译生成两种二进制文件,其中一种二进制文件为烧录引导程序,在外部存储设备中启动,用于引导预设烧录脚本,不用于引导内核和根文件系统启动;另外一种二进制文件能够在Flash中启动,用于引导内核和根文件系统启动。
[0051 ] 当然,烧录引导程序也可以不通过修改弓I导程序Boot Loader的源码的形式生成,可以直接编译一个全新的引导程序作为烧录引导程序,能够在外部存储设备中启动,用于引导预设烧录脚本。
[0052]步骤S12:所述主处理器运行所述烧录引导程序,引导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备中的待烧录文件烧录至所述嵌入式系统的Flash中,所述预设烧录脚本存储在所述外部存储设备中。
[0053]主处理器在从外部存储设备中读取烧录引导程序后,运行烧录引导程序,引导预设烧录脚本运行,将外部存储设备中的待烧录文件烧录至所述嵌入式系统的Flash中。
[0054]其中,存储在外部存储设备中的待烧录文件至少包括:用于引导内核、根文件系统运行的弓I导程序Boot Loader、内核、根文件系统及应用程序。
[0055]在本实施例中,预设烧录脚本不依赖于内核和根文件系统运行。预设烧录脚本同样存储在外部存储设备中。
[0056]在本实施例中,嵌入式系统中的主处理器在从外部存储设备读取烧录引导程序后,将烧录引导程序写入嵌入式系统的内存中,烧录引导程序在写入嵌入式系统的内存中后,运行所述烧录引导程序,引导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备中的待烧录文件烧录至所述嵌入式系统的Flash中。
[0057]具体的,主处理器在运行预设烧录脚本,将外部存储设备中的待烧录文件烧录至嵌入式系统的Flash中的具体过程为:运行预设烧录脚本,将外部存储设备中的待烧录文件包括的各个子文件(如Boot Loader、内核、根文件系统及应用程序)逐一烧录至Flash的指定地址中,采用这种方式避免了由于烧写区域存在坏区导致烧写失败的情况发生。
[0058]在本申请中,由于嵌入式系统中的主处理器在接收到烧录指令时,从外部存储设备中读取烧录引导程序,通过运行读取到的烧录引导程序,引导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备中的待烧录文件烧录至所述嵌入式系统的Flash中,因此,无需在内核和根文件系统运行起来后,再进行烧录,缩短了烧录时间,提高了烧录效率。
[0059]进一步的,由于嵌入式系统中的主处理器在接收到烧录指令时,从外部存储设备中读取的是烧录引导程序,而未读取外部存储设备中引导内核和根文件系统运行的引导程序,未让内核和根文件系统运行,降低了主处理器的资源占用率,提高了嵌入式系统的烧录性能。
[0060]另一个实施例
[0061]在本实施例中,在图1示出的嵌入式系统程序烧录方法基础上扩展出另外一种嵌入式系统程序烧录方法,可以参见图2,图2示出的是本申请提供的一种嵌入式系统程序烧录方法的另一种流程图,可以包括以下步骤:
[0062]步骤S21:嵌入式系统中的主处理器在接收到烧录指令时,从与所述嵌入式系统连接的外部存储设备中读取烧录引导程序。
[0063]步骤S22:所述主处理器运行所述烧录引导程序,引导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备中的待烧录文件烧录至所述嵌入式系统的Flash中,所述预设烧录脚本存储在所述外部存储设备中。
[0064]步骤S21和步骤S22与图1示出的嵌入式系统程序烧录方法中的步骤Sll和步骤S12相同,在此不再赘述。
[0065]步骤S23:在将所述外部存储设备中的待烧录文件烧录至所述嵌入式系统的Flash中之后,移除所述外部存储设备,重启所述嵌入式系统。
[0066]在将外部存储设备中的待烧录文件烧录至嵌入式系统的Flash中后,将外部存储设备从嵌入式系统中移除,并重启嵌入式系统,重启后的嵌入式系统即可投入使用。
[0067]在上述方法实施例中,所述嵌入式系统中的主处理器从与所述嵌入式系统连接的外部存储设备中读取烧录引导程序具体可以为:嵌入式系统中的主处理器从与所述嵌入式系统连接的SD卡中读取烧录引导程序。
[0068]由于SD卡的读写速度相比于其他方式(如烧录器通过串口)速度更快,因此在待烧录文件很大时,采用SD卡存储待烧录文件,从SD卡里读取待烧录文件的方式的效率高的优点尤为凸显。
[0069]当然,所述嵌入式系统中的主处理器从与所述嵌入式系统连接的外部存储设备中读取烧录引导程序具体也可以为:嵌入式系统中的主处理器从与所述嵌入式系统连接的USB闪存驱动器中读取烧录引导程序。
[0070]对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
[0071]与上述方法实施例相对应,本申请提供一种嵌入式系统程序烧录系统,请参见图3,图3示出的是本申请提供的一种嵌入式系统程序烧录系统的一种结构示意图,嵌入式系统程序烧录系统包括:主处理器31、外部存储设备32和Flash33,其中,主处理器31和Flash33为嵌入式系统中的设备。
[0072]主处理器31,用于在接收到烧录指令时,从与所述嵌入式系统连接的外部存储设备32中读取烧录引导程序,运行所述烧录引导程序,引导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备32中的待烧录文件烧录至所述嵌入式系统的Flash33 中。
[0073]主处理器31可以包括写入模块,用于在读取烧录引导程序之后,运行所述烧录引导程序之前,将读取到的烧录引导程序写入所述嵌入式系统的内存中。
[0074]主处理器31中还包括有处理单元,用于运行所述烧录引导程序,引导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备中的待烧录文件包括的各个子文件逐一烧录至Flash33的指定地址中。其中,所述各个子文件分别为Boot Loader、内核、根文件系统及应用程序。
[0075]外部存储设备32,用于存储所述烧录引导程序、预设烧录脚本和所述待烧录文件。
[0076]Flash33,用于存储主处理器31烧录的待烧录文件。
[0077]在本实施例中,所述待烧录文件至少包括:用于引导内核、根文件系统运行的引导程序Boot Loader、内核、根文件系统及应用程序。[0078]另一个实施例
[0079]在本实施例中,在图3示出的嵌入式系统程序烧录系统的基础上扩展出另外一种嵌入式系统程序烧录系统,可以参见图4,图4示出的是本申请提供的一种嵌入式系统程序烧录系统的另一种结构示意图,在图3的基础上还包括:重启模块41。
[0080]重启模块41,用于在移除所述外部存储设备32之后,重启所述嵌入式系统。
[0081]在上述系统实施例中,外部存储设备32包括SD卡或USB闪存驱动器。
[0082]需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0083]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0084]为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0085]以上对本申请所提供的一种嵌入式系统程序烧录方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
【权利要求】
1.一种嵌入式系统程序烧录方法,其特征在于,包括: 嵌入式系统中的主处理器在接收到烧录指令时,从与所述嵌入式系统连接的外部存储设备中读取烧录引导程序; 所述主处理器运行所述烧录引导程序,引导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备中的待烧录文件烧录至所述嵌入式系统的Flash中,所述预设烧录脚本存储在所述外部存储设备中; 其中,所述待烧录文件至少包括:用于引导内核、根文件系统运行的引导程序BootLoader、内核、根文件系统及应用程序。
2.根据权利要求1所述的方法,其特征在于,在读取烧录引导程序之后,运行所述烧录引导程序之前,还包括: 将读取到的烧录引导程序写入所述嵌入式系统的内存中。
3.根据权利要 求1所述的方法,其特征在于,在将所述外部存储设备中的待烧录文件烧录至所述嵌入式系统的Flash中之后,还包括: 移除所述外部存储设备,重启所述嵌入式系统。
4.根据权利要求1所述的方法,其特征在于,所述主处理器运行所述烧录引导程序,弓丨导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备中的待烧录文件烧录至所述嵌入式系统的Flash中的过程,包括: 所述主处理器运行所述烧录引导程序,引导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备中的待烧录文件包括的各个子文件逐一烧录至Flash的指定地址中; 所述各个子文件分别为Boot Loader、内核、根文件系统及应用程序。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述嵌入式系统中的主处理器从与所述嵌入式系统连接的外部存储设备中读取烧录引导程序包括: 嵌入式系统中的主处理器从与所述嵌入式系统连接的SD卡中读取烧录引导程序; 或,嵌入式系统中的主处理器从与所述嵌入式系统连接的USB闪存驱动器中读取烧录引导程序。
6.一种嵌入式系统程序烧录系统,其特征在于,包括: 嵌入式系统中的主处理器,用于在接收到烧录指令时,从与所述嵌入式系统连接的外部存储设备中读取烧录引导程序,运行所述烧录引导程序,引导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备中的待烧录文件烧录至所述嵌入式系统的Flash中; 外部存储设备,用于存储所述烧录引导程序、预设烧录脚本和所述待烧录文件; Flash,用于存储所述主处理器烧录的待烧录文件; 其中,所述待烧录文件至少包括:用于引导内核、根文件系统运行的引导程序BootLoader、内核、根文件系统及应用程序。
7.根据权利要求6所述的系统,其特征在于,还包括: 写入模块,用于在读取烧录引导程序之后,运行所述烧录引导程序之前,将读取到的烧录引导程序写入所述嵌入式系统的内存中。
8.根据权利要求6所述的系统,其特征在于,还包括:重启模块,用于在移除所述外部存储设备之后,重启所述嵌入式系统。
9.根据权利要求6所述的系统,其特征在于,所述主处理器包括: 处理单元,用于运行所述烧录引导程序,引导不依赖于内核和根文件系统运行的预设烧录脚本运行,将所述外部存储设备中的待烧录文件包括的各个子文件逐一烧录至Flash的指定地址中; 所述各个子文件分别为Boot Loader、内核、根文件系统及应用程序。
10.根据权利要求6-9任意一项所述的系统,其特征在于,所述外部存储设备包括: SD卡或USB闪存驱动器。
【文档编号】G06F9/445GK103645920SQ201310704127
【公开日】2014年3月19日 申请日期:2013年12月19日 优先权日:2013年12月19日
【发明者】唐健, 李昕, 孙海英 申请人:深圳市捷顺科技实业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1