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

文档序号:8430543阅读:来源:国知局
设置为0x10000。当确认最新版本的升级控制程序时,通过该中断地址将升级控制程序的数据发送到单片机,通过该中断地址也可以接收其它数据。
[0044]图3为根据本发明一个实施例的单片机与Π的通信示意图。如图3所示,通过UI界面向单片机发送进入更新模式的指令,单片机接收指令并执行,并返回执行信息。读取单片机的当前版本信息和最新版本信息,并将该信息反馈给Π,接收到用户确认之后,对flash进行擦除。再收到Π的确认之后,接收数据包即升级控制程序,以完成数据的交互及通信。在单片机与Π的通信过程中,单片机执行完每一个指令和操作时都会反馈一个确认信息,以供确认,也可以对几个关键步骤,例如升级版本的确认或是否升级等进行反馈确认,具体可根据用户的需求而选用相应的方式。
[0045]根据本发明实施例的方法,通过将升级程序写入到单片机,并将控制程序存入两个不同的区域,以根据升级程序和升级控制程序对单片机进行升级,由此降低了维护成本,简化了用于单片机的在线升级,增强了鲁棒性,方便了用户使用。
[0046]图4为根据本发明一个实施例的用于单片机的在线升级系统的结构框图。如图4所示,根据本发明实施例的用于单片机的在线升级系统100包括写入模块110、比较模块120、获取模块130和升级模块140。
[0047]其中,写入模块Il0用于向单片机中写入升级程序,其中,单片机芯片中烧写有控制程序。
[0048]比较模块120用于获取控制程序的最新版本信息,并比较控制程序的当前版本信息和最新版本信息。
[0049]在本发明的一个实施例中,比较模块120具体包括:获取单元121和比较单元122。
[0050]其中,获取单元121用于通过服务器获取单片机的最新版本信息。
[0051]比较单元122用于比较控制程序的最新版本信息和控制程序的当前版本信息。
[0052]获取模块130用于当控制程序的当前版本低于控制程序的版本时,升级程序进入烧写模型,并获取控制程序的升级控制程序。
[0053]升级模块140用于当第一区域的控制程序出现故障时,升级程序在烧写模型下根据第二区域的控制程序和控制程序的升级控制程序对单片机进行升级。
[0054]升级模块140还用于当控制程序的当前版本不低于控制程序的最新版本时,不对单片机进行升级。当第一区域的控制程序未出现故障时,升级程序在烧写模型下根据第一区域的控制程序和控制程序的升级控制程序对单片机进行升级。
[0055]在本发明的一个实施例中,还包括中断模块150。中断模块150用于设置中断地址,并根据中断地址接收升级控制程序。例如将中断地址设置为0x10000。当确认最新版本的升级控制程序时,通过该中断地址将升级控制程序的数据发送到单片机,通过该中断地址也可以接收其它数据。
[0056]在本发明的一个实施例中,写入模块110将升级程序写入到单片机的特定位置。具体地,写入模块110将bootloader程序(即升级程序)烧写到flash的末端,起始跳转指令烧写到flash的首地址。写入模块110使bootloader程序具有两种跳转:一种是跳转到升级程序,另一种是跳转到控制程序。在用到升级程序或控制程序时,跳转到对应的程序。
[0057]在本发明的一个实施例中,比较模块120将获取该单片机的最新版本信息与当前版本信息进行比较,以判断当前版本是否低于对应的最新版本。当低于最新版本时,获取模块130获取该单片机最新版本的升级控制程序,其中该升级控制程序是使当前版本与最新版本产生差异的数据或信息。
[0058]在本发明的一个实施例中,比较模块120还可以通过如下方式比较版本信息。通过用户界面发送指令,使程序跳转到bootloader升级程序的地址区域。获取模块130根据版本查询指令从服务器查询是否存在符合要求的最新版本。当搜索到最新版本时,对存储在两个区域的控制程序进行扫描以判断是否可以正常使用。当两个区域中的任意一个控制程序出现故障时,使用未出现故障的控制程序对进行升级。例如,第一区域中的控制程序出现错误第二区域中的控制程序正常时,选用第二区域的控制程序进行升级。如果两个区域的控制程序都未发生故障,则选择任意一个区域的控制程序进行升级。在选好控制程序后,向单片机发送flash的全部擦除指令。升级模块140根据升级控制程序开始执行flash的烧写程序,以对单片机进行升级。升级成功后,向UI发送升级成功的信息结束升级,并对单片机进行复位,并跳转到控制程序执行相应的应用程序。当用户因个人需求拒绝对单片机升级时,可通过相应的控制命令不进行升级。
[0059]在本发明的一个实施例中,当跳转到升级程序时,循环查询Π的通信信息,并等待接收升级控制程序。由于PIC本身对flash的烧写、擦除的限制,本实施例分别以64byte和1024byte进行饶写和擦写,以防止擦除升级程序或控制程序,实现循环擦除,烧写的功倉泛。
[0060]图3为根据本发明一个实施例的单片机与Π的通信示意图。如图3所示,通过UI界面向单片机发送进入更新模式的指令,单片机接收指令并执行,并返回执行信息。读取单片机的当前版本信息和最新版本信息,并将该信息反馈给Π,接收到用户确认之后,对flash进行擦除。再收到Π的确认之后,接收数据包即升级控制程序,以完成数据的交互及通信。在单片机与Π的通信过程中,单片机执行完每一个指令和操作时都会反馈一个确认信息,以供确认,也可以对几个关键步骤,例如升级版本的确认或是否升级等进行反馈确认,具体可根据用户的需求而选用相应的方式。
[0061]根据本发明实施例的系统,通过将升级程序写入到单片机,并将控制程序存入两个不同的区域,以根据升级程序和升级控制程序对单片机进行升级,由此降低了维护成本,简化了用于单片机的在线升级,增强了鲁棒性,方便了用户使用。
[0062]尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
【主权项】
1.一种用于单片机的在线升级方法,其特征在于,包括以下步骤: 向单片机中写入升级程序,其中,单片机中烧写有控制程序,且所述控制程序分别存入第一区域和第二区域; 获取所述控制程序的最新版本信息,并比较所述控制程序的当前版本信息和最新版本信息; 当所述控制程序的当前版本低于所述控制程序的版本时,所述升级程序进入烧写模型,并获取所述控制程序的升级控制程序;以及 当所述第一区域的控制程序出现故障时,所述升级程序在烧写模型下根据所述第二区域的控制程序和所述控制程序的升级控制程序对所述单片机进行升级。
2.如权利要求1所述的用于单片机的在线升级方法,其特征在于,还包括: 当所述控制程序的当前版本不低于所述控制程序的最新版本时,不对所述单片机进行升级。
3.如权利要求1所述的用于单片机的在线升级方法,其特征在于,还包括: 当所述第一区域的控制程序未出现故障时,所述升级程序在烧写模型下根据所述第一区域的控制程序和所述控制程序的升级控制程序对所述单片机进行升级。
4.如权利要求1所述的用于单片机的在线升级方法,其特征在于,所述获取控制程序的最新版本信息,并比较所述控制程序的当前版本信息和最新版本信息具体包括: 通过服务器获取所述单片机的最新版本信息;以及 比较所述控制程序的最新版本信息和所述控制程序的当前版本信息。
5.如权利要求1所述的用于单片机的在线升级方法,其特征在于,还包括: 设置中断地址,并通过所述中断地址接收所述升级控制程序。
6.一种用于单片机的在线升级系统,其特征在于,包括: 写入模块,用于向单片机中写入升级程序,其中,单片机芯片中烧写有控制程序; 比较模块,用于获取所述控制程序的最新版本信息,并比较所述控制程序的当前版本信息和最新版本信息; 获取模块,用于当所述控制程序的当前版本低于所述控制程序的版本时,所述升级程序进入烧写模型,并获取所述控制程序的升级控制程序;以及 升级模块,用于当所述第一区域的控制程序出现故障时,所述升级程序在烧写模型下根据所述第二区域的控制程序和所述控制程序的升级控制程序对所述单片机进行升级。
7.如权利要求6所述的用于单片机的在线升级系统,其特征在于,所述升级模块还用于当所述控制程序的当前版本不低于所述控制程序的最新版本时,不对所述单片机进行升级。
8.如权利要求6所述的用于单片机的在线升级系统,其特征在于,所述升级模块还用于当所述第一区域的控制程序未出现故障时,所述升级程序在烧写模型下根据所述第一区域的控制程序和所述控制程序的升级控制程序对所述单片机进行升级。
9.如权利要求6所述的用于单片机的在线升级系统,其特征在于,所述比较模块具体包括: 获取单元,用于通过服务器获取所述单片机的最新版本信息;以及 比较单元,用于比较所述控制程序的最新版本信息和所述控制程序的当前版本信息。
10.如权利要求6所述的用于单片机的在线升级系统,其特征在于,还包括:中断模块,用于设置中断地址,并根据所述中断地址接收所述升级控制程序。
【专利摘要】本发明提出一种用于单片机的在线升级方法及系统,其中方法包括以下步骤:向单片机中写入升级程序,单片机中烧写有控制程序,且控制程序分别存入第一区域和第二区域;获取控制程序的最新版本信息,并比较控制程序的当前版本信息和最新版本信息;当控制程序的当前版本低于控制程序的版本时,升级程序进入烧写模型,并获取控制程序的升级控制程序;以及当第一区域的控制程序出现故障时,升级程序在烧写模型下根据第二区域的控制程序和控制程序的升级控制程序对单片机进行升级。根据本发明实施例的方法,通过将升级程序写入到单片机,并将控制程序存入两个不同的区域,由此降低了维护成本,简化用于单片机的在线升级,增强了鲁棒性,方便用户使用。
【IPC分类】G06F9-445
【公开号】CN104750505
【申请号】CN201310737883
【发明人】闫海英
【申请人】北京谊安医疗系统股份有限公司
【公开日】2015年7月1日
【申请日】2013年12月26日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1