一种嵌入式系统及其引导程序的升级方法、系统技术方案

技术编号:19023087 阅读:86 留言:0更新日期:2018-09-26 18:59
本发明专利技术提供一种嵌入式系统及其引导程序的升级方法、系统。其中,所述升级方法包括:将接收到的引导程序升级数据存储在闪存的缓存区;所述闪存包括引导程序存储区,应用程序存储区和缓存区;检测引导程序升级数据是否完整,在数据完整时,擦除引导程序存储区的数据,将缓存区的引导程序升级数据拷贝到引导程序存储区,完成升级。可见,本发明专利技术提供的升级方法不需要专业的工具,不需要拆机;而且,从设备本身的闪存内进行拷贝,拷贝过程非常短,不容易被外界打断,升级过程效率高、安全、可靠、方便。

【技术实现步骤摘要】
一种嵌入式系统及其引导程序的升级方法、系统
本专利技术涉及嵌入式系统领域,具体涉及嵌入式系统及其引导程序的升级方法、系统。
技术介绍
现有的嵌入式系统(STM32),为了便于升级应用程序,通常采用通过引导程序来升级应用程序的方法,但是现有的引导程序在没有专业工具下却无法升级。现有的引导程序(bootloader程序)的升级方法为:通过专业的仿真器,专业的编程软件,通过烧录的方法,对引导程序进行更新。这种方案,需要对机器进行拆机,需要一定的专业知识,成本高,效率低,耗时间,容易出错,导致升级非常不便。因此,现有技术还有待改进和提高。
技术实现思路
本专利技术主要提供一种嵌入式系统及其引导程序的升级方法、系统,以提高引导程序升级的效率。根据第一方面,一种实施例中提供一种嵌入式系统引导程序的升级方法,包括如下步骤:数据存储步骤,接收外部传输的引导程序升级数据,将所述引导程序升级数据存储在闪存的缓存区;所述闪存包括引导程序存储区,应用程序存储区和缓存区;数据检测步骤,检测缓存区的引导程序升级数据是否完整;数据更新步骤,若引导程序升级数据完整,则擦除引导程序存储区的数据,将缓存区的引导程序升级数据拷贝到引导程序存储区。所述的嵌入式系统引导程序的升级方法,其中,数据存储步骤包括:接收外部传输的引导程序升级数据的长度以及引导程序升级数据的一部分,读取接收的引导程序升级数据头部的第一预设个数字节,判断所述第一预设个数字节是否和本机型相匹配;若匹配,则继续接收剩下的引导程序升级数据;每接收第二预设个数字节的引导程序升级数据,则将其写入到缓存区,将刚写入缓冲区的第二预设个数字节与当前接收的引导程序升级数据的第二预设个数字节进行比对;比对成功,则更新当前已接收数据的总长度;依此循环,直到外部传输的引导程序升级数据全部发送完成。所述的嵌入式系统引导程序的升级方法,其中,所述数据检测步骤包括:将接收的所述引导程序升级数据的长度和缓存区保存的引导程序升级数据的大小进行比对,以判断引导程序升级数据是否完整。所述的嵌入式系统引导程序的升级方法,其中,所述接收外部传输的引导程序升级数据的步骤,包括如下步骤:接收上位机通过网口或者USB线发送的升级指令,根据所述升级指令保存上位机发出的引导程序升级数据的长度,并向上位机反馈自身处于准备接收数据的状态;接收上位机发出的引导程序升级数据。根据第二方面,一种实施例中提供一种嵌入式系统引导程序的升级系统,包括:数据存储模块,用于接收外部传输的引导程序升级数据,将所述引导程序升级数据存储在闪存的缓存区;所述闪存包括引导程序存储区,应用程序存储区和缓存区;数据检测模块,用于检测缓存区的引导程序升级数据是否完整;数据更新模块,用于在数据检测模块检测到缓存区的引导程序升级数据完整后,擦除引导程序存储区的数据,将缓存区的引导程序升级数据拷贝到引导程序存储区。所述的嵌入式系统引导程序的升级系统,其中,数据存储模块具体用于:接收外部传输的引导程序升级数据的长度以及引导程序升级数据的一部分,读取接收的引导程序升级数据头部的第一预设个数字节,判断所述第一预设个数字节是否和本机型相匹配;若匹配,则继续接收剩下的引导程序升级数据;每接收第二预设个数字节的引导程序升级数据,则将其写入到缓存区,将刚写入缓冲区的第二预设个数字节与当前接收的引导程序升级数据的第二预设个数字节进行比对;比对成功,则更新当前已接收数据的总长度;依此循环,直到外部传输的引导程序升级数据全部发送完成。所述的嵌入式系统引导程序的升级系统,其中,所述数据检测模块具体用于:将数据存储模块接收的所述引导程序升级数据的长度和缓存区保存的引导程序升级数据的大小进行比对,以判断引导程序升级数据是否完整。所述的嵌入式系统引导程序的升级系统,其中,所述数据存储模块接收外部传输的引导程序升级数据,包括:接收上位机通过网口或者USB线发送的升级指令,根据所述升级指令保存上位机发出的引导程序升级数据的长度,并向上位机反馈自身处于准备接收数据的状态;接收上位机发出的引导程序升级数据。根据第三方面,一种实施例中提供一种嵌入式系统,包括:闪存,用于存储程序;所述闪存包括引导程序存储区,应用程序存储区和缓存区;处理器,用于通过执行所述闪存存储的程序以实现如上所述的方法。根据第四方面,一种实施例中提供一种计算机可读存储介质,包括应用程序,所述应用程序能够被处理器执行以实现如上所述的方法。依据上述实施例的嵌入式系统及其引导程序的升级方法、系统,将接收到的引导程序升级数据存储在闪存的缓存区,检测引导程序升级数据是否完整,在数据完整时,擦除引导程序存储区的数据,将缓存区的引导程序升级数据拷贝到引导程序存储区,完成升级。可见,本专利技术提供的升级方法不需要专业的工具,不需要拆机;而且,从设备本身的闪存内进行拷贝,拷贝过程非常短,不容易被外界打断,升级过程效率高、安全、可靠、方便。附图说明图1为本专利技术提供嵌入式系统引导程序的升级系统的结构框图;图2为本专利技术提供嵌入式系统引导程序的升级系统中,闪存的存储区间示意图;图3为本专利技术提供嵌入式系统引导程序的升级方法的流程图。具体实施方式下面通过具体实施方式结合附图对本专利技术作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。本专利技术提供一种嵌入式系统,如图1所示,所述嵌入式系统包括引导程序(bootloader程序)的升级系统和闪存(FlashMemory)40。本实施例中,所述嵌入式系统应用在STM32上。所述引导程序的升级系统包括:数据存储模块10,数据检测模块20和数据更新模块30。如图2所示,所述闪存40包括:引导程序存储区,应用程序存储区和缓存区。具体的,预先将闪存40的地址区间分成3部分,一部分为引导程序存储区、另一部分为应用程序存储区,剩下的部分为缓存区。由于本实施例采用STM32芯片,STM32芯片的闪存地址区间为0x08000000至0x080FFFFF。所述引导程序存储区的地址区间为:0x08000000-0x08040000,用于存储引导程序的代码,所述引导程序也是就系统启动首先执行的地方,也是本专利技术需要更新的部分。所述应用程序存储本文档来自技高网...

【技术保护点】
1.一种嵌入式系统引导程序的升级方法,其特征在于,包括如下步骤:数据存储步骤,接收外部传输的引导程序升级数据,将所述引导程序升级数据存储在闪存的缓存区;所述闪存包括引导程序存储区,应用程序存储区和缓存区;数据检测步骤,检测缓存区的引导程序升级数据是否完整;数据更新步骤,若引导程序升级数据完整,则擦除引导程序存储区的数据,将缓存区的引导程序升级数据拷贝到引导程序存储区。

【技术特征摘要】
1.一种嵌入式系统引导程序的升级方法,其特征在于,包括如下步骤:数据存储步骤,接收外部传输的引导程序升级数据,将所述引导程序升级数据存储在闪存的缓存区;所述闪存包括引导程序存储区,应用程序存储区和缓存区;数据检测步骤,检测缓存区的引导程序升级数据是否完整;数据更新步骤,若引导程序升级数据完整,则擦除引导程序存储区的数据,将缓存区的引导程序升级数据拷贝到引导程序存储区。2.如权利要求1所述的嵌入式系统引导程序的升级方法,其特征在于,数据存储步骤包括:接收外部传输的引导程序升级数据的长度以及引导程序升级数据的一部分,读取接收的引导程序升级数据头部的第一预设个数字节,判断所述第一预设个数字节是否和本机型相匹配;若匹配,则继续接收剩下的引导程序升级数据;每接收第二预设个数字节的引导程序升级数据,则将其写入到缓存区,将刚写入缓冲区的第二预设个数字节与当前接收的引导程序升级数据的第二预设个数字节进行比对;比对成功,则更新当前已接收数据的总长度;依此循环,直到外部传输的引导程序升级数据全部发送完成。3.如权利要求2所述的嵌入式系统引导程序的升级方法,其特征在于,所述数据检测步骤包括:将接收的所述引导程序升级数据的长度和缓存区保存的引导程序升级数据的大小进行比对,以判断引导程序升级数据是否完整。4.如权利要求1所述的嵌入式系统引导程序的升级方法,其特征在于,所述接收外部传输的引导程序升级数据的步骤,包括如下步骤:接收上位机通过网口或者USB线发送的升级指令,根据所述升级指令保存上位机发出的引导程序升级数据的长度,并向上位机反馈自身处于准备接收数据的状态;接收上位机发出的引导程序升级数据。5.一种嵌入式系统引导程序的升级系统,其特征在于,包括:数据存储模块,用于接收外部传输的引导程序升级数据,将所述引导程序升级数据存储在闪存的缓存区;所述闪存包括引导程序存储区,应用程...

【专利技术属性】
技术研发人员:谢林冬彭晓林钱伯年陈晓君
申请(专利权)人:深圳市鼎阳科技有限公司
类型:发明
国别省市:广东,44

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

1