用于单片机的在线升级方法及系统的制作方法

文档序号:8430539阅读:464来源:国知局
用于单片机的在线升级方法及系统的制作方法
【技术领域】
[0001]本发明涉及单片机技术领域,特别涉及一种用于单片机的在线升级方法及系统。
【背景技术】
[0002]芯片出厂之后,需要对芯片进行功能性优化等后续升级的维护。现有的芯片升级需要由专人通过仿真器和PC机进行升级,即嵌入式芯片的烧写程序需要借助于仿真器和PC机。
[0003]现有升级方式复杂,需要由专业人员进行升级,并且需要借助外部设备进行升级,增加了维护成本,同时加大了用户的操作难度。

【发明内容】

[0004]本发明的目的旨在至少解决上述的技术缺陷之一。
[0005]为此,本发明的一个目的在于提出一种用于单片机的在线升级方法。
[0006]本发明的另一目的在于提出一种用于单片机的在线升级系统。
[0007]为达到上述目的,本发明一方面的实施例提出一种用于单片机的在线升级方法,包括以下步骤:向单片机中写入升级程序,其中,单片机芯片中烧写有控制程序;获取所述控制程序的最新版本信息,并比较所述控制程序的当前版本信息和最新版本信息;当所述控制程序的当前版本低于所述控制程序的版本时,所述升级程序进入烧写模型,并获取所述控制程序的升级控制程序;以及所述升级程序在烧写模型下根据所述控制程序和所述控制程序的升级控制程序对所述单片机进行升级。
[0008]根据本发明实施例的方法,通过将升级程序写入到单片机,并根据该升级程序和升级控制程序对单片机进行升级,由此降低了维护成本,简化了单片机的升级,方便了用户使用。
[0009]在本发明的一个实施例中,还包括:当所述控制程序的当前版本不低于所述控制程序的最新版本时,不对所述单片机进行升级。
[0010]在本发明的一个实施例中,所述获取控制程序的最新版本信息,并比较所述控制程序的当前版本信息和最新版本信息具体包括:通过服务器获取所述单片机的最新版本信息;以及比较所述控制程序的最新版本信息和所述控制程序的当前版本信息。
[0011]在本发明的一个实施例中,还包括:设置中断地址,并通过所述中断地址接收所述升级控制程序。
[0012]为达到上述目的,本发明的实施例另一方面提出一种用于单片机的在线升级系统,包括:写入模块,用于向单片机中写入升级程序,其中,单片机芯片中烧写有控制程序;比较模块,用于获取所述控制程序的最新版本信息,并比较所述控制程序的当前版本信息和最新版本信息;获取模块,用于当所述控制程序的当前版本低于所述控制程序的版本时,所述升级程序进入烧写模型,并获取所述控制程序的升级控制程序;以及升级模块,用于所述升级程序在烧写模型下根据所述控制程序和所述控制程序的升级控制程序对所述单片机进行升级。
[0013]根据本发明实施例的系统,通过将升级程序写入到单片机,并根据该升级程序和升级控制程序对单片机进行升级,由此降低了维护成本,简化了单片机的升级,方便了用户使用。
[0014]在本发明的一个实施例中,所述升级模块还用于当所述控制程序的当前版本不低于所述控制程序的最新版本时,不对所述单片机进行升级。
[0015]在本发明的一个实施例中,所述比较模块具体包括:获取单元,用于通过服务器获取所述单片机的最新版本信息;以及比较单元,用于比较所述控制程序的最新版本信息和所述控制程序的当前版本信息。
[0016]在本发明的一个实施例中,还包括:中断模块,用于设置中断地址,并根据所述中断地址接收所述升级控制程序。
[0017]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0018]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0019]图1为根据本发明一个实施例的用于单片机的在线升级方法的流程图;
[0020]图2为根据本发明一个实施例的单片机升级的具体示意图;
[0021]图3为根据本发明一个实施例的单片机与UI的通信示意图;以及
[0022]图4为根据本发明一个实施例的用于单片机的在线升级系统的结构框图。
【具体实施方式】
[0023]下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0024]在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0025]在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0026]图1为根据本发明一个实施例的用于单片机的在线升级方法的流程图。如图1所示,根据本发明实施例的用于单片机的在线升级方法包括以下步骤:
[0027]步骤101,向单片机中写入升级程序,其中,单片机芯片中烧写有控制程序。
[0028]步骤102,获取控制程序的最新版本信息,并比较控制程序的当前版本信息和最新版本信息。
[0029]具体地,通过服务器获取单片机的最新版本信息。之后,比较控制程序的最新版本信息和控制程序的当前版本信息。
[0030]步骤103,当控制程序的当前版本低于控制程序的版本时,升级程序进入烧写模型,并获取控制程序的升级控制程序。
[0031]在本发明的一个实施例中,当控制程序的当前版本不低于控制程序的最新版本时,不对单片机进行升级。
[0032]步骤104,升级程序在烧写模型下根据控制程序和控制程序的升级控制程序对单片机进行升级。
[0033]在本发明的一个实施例中,还包括:设置中断地址,并通过中断地址接收升级控制程序。
[0034]下面通过具体实施例对本发明实施例的用于单片机的在线升级方法进行具体说明。
[0035]首先,通过仿真器饶写升级程序至单片机的特定位置。具体地,将bootloader程序(即升级程序)烧写到flash的末端,起始跳转指令烧写到flash的首地址。同时在bootloader程序里实现两种跳转:一种是跳转到升级程序,另一种是跳转到控制程序。在用到升级程序或控制程序时,跳转到对应的程序。
[0036]在本发明的一个实施例中,例如通过服务器获取该单片机的最新版本信息,并与当前版本信息进行比较,以判断当前版本是否低于对应的最新版本。当低于最新版本时,获取该单片机最新版本的升级控制程序,其中该升级控制程序是使当前版本与最新版本产生差异的数据或信息。
[0037]在本发明的一个实施例中,当跳转到升级程序时,循环查询Π的通信信息,并等待接收升级控制程序。由于PIC本身对flash的烧写、擦除的限制,在本实施例中分别以64byte和1024byte进行饶写和擦写,以防止擦除升级程序或控制程序,实现循环擦除,烧与的功能。
[0038]图2为根据本发明一个实施例的单片机升级的具体示意图。如图2所示,在对单片机进行初始化之后,通过升级程序的标志位跳转到升级模式。在升级模式下接收单片机最新版本的升级控制程序和相应的数据,并通过UI的操作以对单片机进行升级。
[0039]在本发明的一个实施例中,还可以通过如下方式比较版本信息。通过用户界面发送指令,使程序跳转到bootloader升级程序的地址区域。由用户界面接收版本查询指令,并从服务器查询是否存在符合要求的最新版本。当搜索到最新版本时,向单片机发送flash的全部擦除指令。升级控制程序根据升级控制程序开始执行flash的烧写程序,以对单片机进行升级。升级成功后,向UI发送升级成功的信息结束升级,并对单片机进行复位,并跳转到控制程序执行相应的应用程序。当用户因个人需求拒绝对单片机升级时,可通过相应的控制命令不进行升级。
[0040]在本发明的一个实施例中,设置有中断地址,例如将中断地址设置为0x10000。当确认最新版本的升级控制程序时,通过
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1