嵌入式设备程序升级系统及方法

文档序号:6546159阅读:434来源:国知局
嵌入式设备程序升级系统及方法
【专利摘要】本发明提供了一种嵌入式设备程序升级系统,所述嵌入式设备包括具有自带启动加载单元的微处理器,该微处理器还包括定制启动加载单元、地址验证单元,其中:所述定制启动加载单元由自带启动加载单元在嵌入式设备出厂前创建并用于在嵌入式设备启动时向该微处理器的闪存的预设地址写入第一验证标识;所述地址验证单元,用于在微处理器应用程序启动后读取闪存的预设地址中的第一验证标识,并在该第一验证标识与应用程序中的第二验证标识一致时使所述微处理器执行应用程序。本发明还提供一种对应的方法。本发明通过定制启动加载程序在闪存预设地址写入验证标识并在应用程序执行前通过上述预设地址的验证标识进行验证,可有效升级中的盗版行为。
【专利说明】嵌入式设备程序升级系统及方法
【技术领域】
[0001]本发明涉及嵌入式设备领域,更具体地说,涉及一种嵌入式设备程序升级系统及方法。
【背景技术】
[0002]随着科学技术的不断发展,嵌入式设备已经得到了广泛的应用。嵌入式设备主要由嵌入式处理器、相关支撑硬件和嵌入式软件系统组成,并可独立工作,其以应用为中心,特别适合于要求实时和多任务场合。由于嵌入式设备具有体积小、性能强、功耗低、可靠性高以及面向行业应用的突出特点,目前已大量应用于消费电子、网络通信、工业控制等各个领域。
[0003]为提升嵌入式设备的性能或增加系统功能,往往需要对嵌入式设备的软件进行升级(固件升级),即更新嵌入式设备中的应用程序。为保证安全性和可靠性,目前嵌入式设备的软件更新通常采用以下方式:在更新软件下载过程使用奇偶校验法对更新软件进行加密,并使用嵌入式处理器自带的密码锁定JTAG 口防止非法读取。
[0004]然而,上述软件更新方式中采用的安全措施虽然可靠,但是无法避免在嵌入式设备升级应用程序时发生盗版行为;即使厂商升级也需要输入一长串密码,如果进行大批量产品升级,就浪费很多时间,不易操作。

【发明内容】

[0005]本发明要解决的技术问题在于,针对上述嵌入式设备程序升级存在盗版行为及浪费时间的问题,提供一种新的嵌入式设备程序升级系统及方法。
[0006]本发明解决上述技术问题的技术方案是,提供一种嵌入式设备程序升级系统,所述嵌入式设备包括具有自带启动加载单元的微处理器,所述微处理器还包括定制启动加载单元、地址验证单元,其中:所述定制启动加载单元由自带启动加载单元在嵌入式设备出厂前创建并用于在嵌入式设备启动时向该微处理器的闪存的预设地址写入第一验证标识;所述地址验证单元,用于在微处理器应用程序启动后读取闪存的预设地址中的第一验证标识,并在该第一验证标识与应用程序中的第二验证标识一致时使所述微处理器执行应用程序。
[0007]在本发明所述的嵌入式设备程序升级系统中,所述程序升级系统还包括位于上位机的升级包下发单元以及位于定制启动加载单元中的升级包校验子单元、升级包烧录子单元,其中:所述上位机与微处理器通讯连接;所述升级包下发单元用于对应用程序升级包进行CRC校验后下发给嵌入式设备的微处理器;所述升级包校验子单元用于对所述应用程序升级包进行CRC校验;所述升级包烧录子单元用于在升级包校验子单元校验通过后将所述应用程序升级包烧录到微处理器的闪存中。
[0008]在本发明所述的嵌入式设备程序升级系统中,所述定制启动加载单元还包括升级包请求子单元,所述升级包请求子单元用于在升级包校验子单元校验升级包错误时,请求上位机重新发送应用程序升级包。
[0009]在本发明所述的嵌入式设备程序升级系统中,所述程序升级系统还包括位于上位机的烧录验证单元,所述烧录验证单元用于在升级包烧录子单元烧录完成后读取微处理器的闪存中的应用程序并将读取的应用程序与下发的应用程序升级包进行比对,并在比对一致后确认应用程序升级完成。
[0010]在本发明所述的嵌入式设备程序升级系统中,所述程序升级系统还包括位于上位机的错误提示单元,所述错误提示单元用于在所述烧录验证单元比对应用程序与下发的应用程序升级包不一致时提示烧录失败。
[0011]本发明还提供一种嵌入式设备程序升级方法,所述嵌入式设备包括具有自带启动加载程序的微处理器,该方法包括以下步骤:
[0012](a)所述嵌入式设备出厂前通过微处理器自带启动加载程序把定制启动加载程序烧录到所述微处理器的闪存中;
[0013](b)所述定制启动加载程序在嵌入式设备启动时向所述闪存的预设地址写入第一验证标识;
[0014](C)所述微处理器在应用程序启动后读取闪存的预设地址中的第一验证标识,并在该第一验证标识与应用程序中的第二验证标识一致时执行应用程序。
[0015]在本发明所述的嵌入式设备程序升级方法中,所述步骤(b)之后包括:
[0016](d)上位机对应用程序升级包进行CRC校验后下发给嵌入式设备的微处理器;
[0017](e)所述嵌入式系统的微处理器通过定制启动加载程序对所述应用程序升级包进行CRC校验,并在校验通过后将所述应用程序升级包烧录到微处理器的闪存中。
[0018]在本发明所述的嵌入式设备程序升级方法中,所述步骤(e)还包括:所述定制启动加载程序在所述应用程序升级包校验错误时,请求上位机重新发送应用程序升级包。
[0019]在本发明所述的嵌入式设备程序升级方法中,所述步骤(e)之后包括:所述上位机读取微处理器的闪存中的应用程序并将读取的应用程序与下发的应用程序升级包进行比对,并在比对一致后确认应用程序升级完成。
[0020]在本发明所述的嵌入式设备程序升级方法中,所述步骤(e)之后包括:所述上位机在读取的微处理器的闪存中的应用程序与下发的应用程序升级包不一致时提示烧录失败。
[0021]本发明的嵌入式设备程序升级系统及方法,通过定制启动加载程序在闪存预设地址写入验证标识并在应用程序执行前通过上述预设地址的验证标识进行验证,可有效避免嵌入式设备升级中的盗版行为。此外,本发明还通过CRC校验及烧录程序读回对比,大大提高应用程序升级的准确性。
【专利附图】

【附图说明】
[0022]图1是本发明嵌入式设备程序升级系统第一实施例的示意图。
[0023]图2是本发明嵌入式设备程序升级系统第二实施例的示意图。
[0024]图3是本发明嵌入式设备程序升级方法第一实施例的示意图。
[0025]图4是本发明嵌入式设备程序升级方法第二实施例的示意图。【具体实施方式】
[0026]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0027]如图1所示,是本发明嵌入式设备程序升级系统实施例的示意图,其用于实现嵌入式设备的程序升级(包括出厂前的升级和出厂后的升级),且上述嵌入式设备包括具有自带启动加载单元11的微处理器10。在本实施例中,嵌入式设备的微处理器10还包括定制启动加载单元12和地址验证单元13,上述自带启动加载单元11、定制启动加载单元12和地址验证单元13由运行在微处理器10中的程序实现。
[0028]自带启动加载单元11由微处理器10执行其自带的启动加载程序(即微处理器10自带的Bootloader程序)实现,上述自带的启动加载程序存储在微处理器ROM中,其由微处理器10的生产厂商烧录完成。
[0029]定制启动加载单元12由微处理器10执行定制启动加载程序(即由嵌入式设备生产商编制的Bootloader程序)实现,该定制启动加载程序存储在微处理器10的闪存(Flash)中,并由自带启动加载单元11在嵌入式设备出厂前创建。该定制启动加载单元12用于在嵌入式设备启动时向该微处理器10的闪存的预设地址(该地址可由嵌入式设备生产商任意指定,不同设备的预设地址可不同)写入第一验证标识。
[0030]地址验证单元13用于在微处理器10启动应用程序时读取闪存的预设地址中的第一验证标识(由定制启动加载单元12在嵌入式设备启动时写入),并在该第一验证标识与应用程序中的第二验证标识一致时使微处理器执行应用程序。若上述第二验证标识与第一验证标识不一致,或第二验证标识不存在,则该应用程序为盗版,微处理器10不执行该应用程序。
[0031]上述嵌入式设备程序升级系统,将程序分为启动加载程序和应用程序,并且用户只能升级应用程序,其通过在启动加载程序中增加在闪存写验证标识的操作,从而应用程序只有和嵌入式设备生产商的启动加载程序配套才能升级或者使用,可有效防止盗版程序。
[0032]该嵌入式设备程序升级系统除了上述嵌入式设备生产商的出厂前升级,还可包括出厂后的升级。此时,如图2所示,在本发明嵌入式设备程序升级系统的第二实施例中,升级系统还包括位于上位机20的升级包下发单元21以及位于微处理器50的定制启动加载单元51中的升级包校验子单元511、升级包烧录子单元512,其中上位机20与微处理器50通讯连接,且升级包下发单元21、升级包校验子单元511、升级包烧录子单元512由运行在相应硬件上的软件实现。
[0033]升级包下发单元21用于对应用程序升级包进行CRC校验后下发给嵌入式设备的微处理器50 ;升级包校验子单元511用于对来自上位机20的应用程序升级包进行CRC校验(使用来自升级包下发单元21的CRC校验码);升级包烧录子单元512用于在升级包校验子单元511校验通过后将应用程序升级包烧录到微处理器10的闪存中。通过升级包下发单元21、升级包校验子单元511、升级包烧录子单元512即可实现嵌入式设备的应用程序的升级(即嵌入式设备出厂后的软件更新)。
[0034]相对于奇偶校验方式,CRC校验可有效提高程序烧录过程数据的正确性。[0035]上述定制启动加载单元51还可包括升级包请求子单元513,该升级包请求子单元513用于在升级包校验子单元511校验升级包错误时,请求上位机20重新发送应用程序升级包。这样,即可在上位机20与微处理器50通讯出错时进行自动的升级包重传。
[0036]此外,上述程序升级系统还可包括位于上位机20的烧录验证单元22,该烧录验证单元22用于在升级包烧录子单元512烧录完成后读取微处理器10的闪存中的应用程序(即新烧录的应用程序)并将读取的应用程序与下发的应用程序升级包进行比对,并在比对一致后确认应用程序升级完成。相应地,上位机20中还可包括一个错误提示单元23,该错误提示单元23用于在烧录验证单元22比对烧录的应用程序与下发的应用程序升级包不一致时提示烧录失败。
[0037]通过在应用程序烧录完成后进行读回对比,可进一步提高烧录过程的正确性,将烧录错误的概率降低到接近0%。
[0038]如图3所示,本发明还提供一种嵌入式设备程序升级方法,其中嵌入式设备包括具有自带启动加载程序的微处理器,该方法包括以下步骤:
[0039]步骤S31:嵌入式设备出厂前通过微处理器自带的启动加载程序(即芯片自带的Bootloader程序,存储在微处理器的ROM中)把定制启动加载程序(即由嵌入式设备生产商编写的Bootloader程序)烧录到微处理器的闪存中。
[0040]步骤S32:定制启动加载程序在嵌入式设备启动时向该微处理器的闪存的预设地址写入第一验证标识。
[0041]步骤S33:微处理器启动应用程序。
[0042]步骤S34:微处理器读取闪存的预设地址中的第一验证标识(步骤S32写入),并比较该第一验证标识与应用程序中的第二验证标识是否一致。在第一验证标识与第二验证标识一致时执行步骤S36,否则执行步骤S35。
[0043]步骤S35:微处理器终止应用程序的启动。
[0044]步骤S36:微处理器执行应用程序。
[0045]本发明的嵌入式设备程序升级方法除了厂商升级,还可包括用户升级,如图4所示,此时该嵌入式设备程序升级方法还可包括以下步骤:
[0046]步骤S41:上位机对应用程序升级包进行CRC校验后下发给嵌入式设备的微处理器。
[0047]步骤S42:嵌入式系统的微处理器通过定制启动加载程序对从上位机接收的应用程序升级包进行CRC校验(使用来自升级包下发单元21的CRC校验码)。
[0048]步骤S43:根据计算结果判断是否验证正确,并在验证正确时执行步骤S45,否则执行步骤S44。
[0049]步骤S44:定制启动加载程序请求上位机重新发送应用程序升级包,并返回步骤S41。
[0050]步骤S45:将应用程序升级包烧录到微处理器的闪存中。
[0051]步骤S46:上位机读取微处理器的闪存中的应用程序并将读取的应用程序与下发的应用程序升级包进行比对,并在比对一致时执行步骤S49,否则执行步骤S48。
[0052]步骤S48:提示烧录失败。
[0053]步骤S49:确认应用程序升级完成。[0054]以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
【权利要求】
1.一种嵌入式设备程序升级系统,所述嵌入式设备包括具有自带启动加载单元的微处理器,其特征在于:所述微处理器还包括定制启动加载单元、地址验证单元,其中:所述定制启动加载单元由自带启动加载单元在嵌入式设备出厂前创建并用于在嵌入式设备启动时向该微处理器的闪存的预设地址写入第一验证标识;所述地址验证单元,用于在微处理器应用程序启动后读取闪存的预设地址中的第一验证标识,并在该第一验证标识与应用程序中的第二验证标识一致时使所述微处理器执行应用程序。
2.根据权利要求1所述的嵌入式设备程序升级系统,其特征在于:所述程序升级系统还包括位于上位机的升级包下发单元以及位于定制启动加载单元中的升级包校验子单元、升级包烧录子单元,其中:所述上位机与微处理器通讯连接;所述升级包下发单元用于对应用程序升级包进行CRC校验后下发给嵌入式设备的微处理器;所述升级包校验子单元用于对所述应用程序升级包进行CRC校验;所述升级包烧录子单元用于在升级包校验子单元校验通过后将所述应用程序升级包烧录到微处理器的闪存中。
3.根据权利要求2所述的嵌入式设备程序升级系统,其特征在于:所述定制启动加载单元还包括升级包请求子单元,所述升级包请求子单元用于在升级包校验子单元校验升级包错误时,请求上位机重新发送应用程序升级包。
4.根据权利要求2所述的嵌入式设备程序升级系统,其特征在于:所述程序升级系统还包括位于上位机的烧录验证单元,所述烧录验证单元用于在升级包烧录子单元烧录完成后读取微处理器的闪存中的应用程序并将读取的应用程序与下发的应用程序升级包进行比对,并在比对一致后确认应用程序升级完成。
5.根据权利要求4所述的嵌入式设备程序升级系统,其特征在于:所述程序升级系统还包括位于上位机的错误提示单元,所述错误提示单元用于在所述烧录验证单元比对应用程序与下发的应用程序 升级包不一致时提示烧录失败。
6.一种嵌入式设备程序升级方法,所述嵌入式设备包括具有自带启动加载程序的微处理器,其特征在于,该方法包括以下步骤: (a)所述嵌入式设备出厂前通过微处理器自带启动加载程序把定制启动加载程序烧录到所述微处理器的闪存中; (b)所述定制启动加载程序在嵌入式设备启动时向所述闪存的预设地址写入第一验证标识; (C)所述微处理器在应用程序启动后读取闪存的预设地址中的第一验证标识,并在该第一验证标识与应用程序中的第二验证标识一致时执行应用程序。
7.根据权利要求6所述的嵌入式设备程序升级方法,其特征在于:所述步骤(b)之后包括: (d)上位机对应用程序升级包进行CRC校验后下发给嵌入式设备的微处理器; (e)所述嵌入式系统的微处理器通过定制启动加载程序对所述应用程序升级包进行CRC校验,并在校验通过后将所述应用程序升级包烧录到微处理器的闪存中。
8.根据权利要求7所述的嵌入式设备程序升级方法,其特征在于:所述步骤(e)还包括:所述定制启动加载程序在所述应用程序升级包校验错误时,请求上位机重新发送应用程序升级包。
9.根据权利要求7所述的嵌入式设备程序升级方法,其特征在于:所述步骤(e)之后包括:所述上位机读取微处理器的闪存中的应用程序并将读取的应用程序与下发的应用程序升级包进行比对,并在比对一致后确认应用程序升级完成。
10.根据权利要求9所述的嵌入式设备程序升级方法,其特征在于:所述步骤(e)之后包括:所述上位机在读取的微处理器的闪存中的应用程序与下发的应用程序升级包不一致时提示烧录失败。
【文档编号】G06F9/445GK104021011SQ201410195964
【公开日】2014年9月3日 申请日期:2014年5月9日 优先权日:2014年5月9日
【发明者】郑康山 申请人:苏州汇川技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1