CN113741943A - 一种嵌入式设备程序升级系统及方法 - Google Patents

一种嵌入式设备程序升级系统及方法 Download PDF

Info

Publication number
CN113741943A
CN113741943A CN202111312864.3A CN202111312864A CN113741943A CN 113741943 A CN113741943 A CN 113741943A CN 202111312864 A CN202111312864 A CN 202111312864A CN 113741943 A CN113741943 A CN 113741943A
Authority
CN
China
Prior art keywords
program
upgrading
microprocessor
upgrade
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111312864.3A
Other languages
English (en)
Other versions
CN113741943B (zh
Inventor
胡旭东
石雪倩
汤睿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cloud Storage New Energy Technology Co ltd
Original Assignee
Xiang Investment Cloud Storage Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiang Investment Cloud Storage Technology Co ltd filed Critical Xiang Investment Cloud Storage Technology Co ltd
Priority to CN202111312864.3A priority Critical patent/CN113741943B/zh
Publication of CN113741943A publication Critical patent/CN113741943A/zh
Application granted granted Critical
Publication of CN113741943B publication Critical patent/CN113741943B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种嵌入式设备程序升级系统及方法,系统包括启动加载单元和应用程序单元,启动加载单元包括用于读取嵌入式系统中的程序升级标志并执行相应动作的升级判断模块、用于向上位机请求程序下载包和校验码的程序下载请求模块、用于应用程序文件的解密的程序解密模块和用于计算接收应用程序的时间间隔的程序下载计时模块,若计时超过了预定的时间周期,升级超时标志将置位,微处理器复位,应用程序单元将程序升级标志置位,微处理器复位重启并进入启动加载单元,启动加载单元将升级程序烧录到微处理器中。本发明解决了嵌入式设备程序升级中在断电、升级传输通道中断、通讯传输误码、存储操作故障、上位机宕机导致的程序升级失败问题。

Description

一种嵌入式设备程序升级系统及方法
技术领域
本发明属于嵌入式设备技术领域,具体涉及一种嵌入式设备程序升级系统及方法。
背景技术
嵌入式技术是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统技术。嵌入式技术近年来得到了飞速的发展,作为除PC端外的另一种系统,嵌入式系统应用领域极其广泛,手机、PDA、车载导航、工控、军工、多媒体终端、网关、数字电视等行业均用到了嵌入式系统。
嵌入式系统在各个领域有着广泛的应用,嵌入式系统的维护与升级也变得日益重要。由于新技术的不断涌现和对系统功能、性能等要求的不断提高,开发者必须能够针对系统进行升级和维护,以延长系统的使用周期,改善系统性能,增强系统适应性。目前嵌入式设备的软件更新通常采用以下方式:使用JTAG编程器直接对嵌入式处理器的闪存进行擦写,或者使用在线升级程序方式,常见的升级方式都是整个设备系统的升级。
现实环境中,可能面临各种异常,如升级过程中微处理器断电、升级传输通道中断、通讯传输误码、人工操作失误、上位机宕机、内存容量小、闪存容量较小等现象,任何一项异常的发生,都会造成升级过程失败。使用传统在线升级程序的方式,如果出现升级故障,那么引起系统瘫痪导致产品失效,且无法再次进行固件升级。
现有技术中,专利公开号CN104021011A中提出了一种嵌入式设备程序升级系统及方法,针对嵌入式设备程序升级存在盗版行为及浪费时间的问题,提供一种新的嵌入式设备程序升级系统及方法,通过定制启动加载单元在设备启动时向该微处理器闪存的预设地址写入第一验证标识,并在微处理器应用程序启动后读取闪存预设地址中的第一验证标识,并在该第一验证标识与应用程序中的第二标识一致时使所述微处理器执行应用程序,从而达到了防盗版软件的目的。通过升级包校验子单元,上位机读取微处理器的闪存中的应用程序并将读取的应用程序与下发的应用程序升级包进行比对,并在对比一致后确认应用程序升级完成。该专利所述的升级方法可以确保程序升级正确无误,解决通讯传输误码、存储操作故障的问题,但无法解决程序下载过程中设备突然断电、人工操作失误、上位机宕机、升级传输通道中断等故障导致的程序升级失败问题。
另专利公开号 CN103761113A中提出了一种用于IPTV的可靠软件升级方法,通过将老版本系统模块程序备份到闪存高地址部分,从升级服务器获取新版本系统模块,计算新版本校验码,并将新版本系统模块和校验码写入低地址部分,从升级服务器下载应用程序,将应用程序模块和校验码写入闪存高地址部分,升级过程完成。当升级失败,系统自动从高地址部分启动,然后再次接受升级服务器新版本系统模块和校验码写入低地址,该方法通过程序备份和校验的方式解决传输误码、存储操作故障、设备突然断电、升级传输通道中断等问题。但该方法由于需要备份程序,所以要占用大量的flash或内存,不适合小型单片机或者存储比较小的嵌入式系统。
本发明要解决的技术问题在于,针对上述嵌入式设备程序升级中存在微处理器断电、升级传输通道中断、通讯传输误码、存储操作故障、人工操作失误、上位机宕机导致的程序升级失败问题,提供一种新的嵌入式设备程序升级系统及方法。
发明内容
本发明的目的是提供一种嵌入式设备程序升级系统及方法,用于解决嵌入式设备程序升级中存在微处理器断电、升级传输通道中断、通讯传输误码、存储操作故障、人工操作失误、上位机宕机导致的程序升级失败问题。
上述目的是通过如下技术方案实现:一种嵌入式设备程序升级系统,包括设置在嵌入式设备的微处理器中的启动加载单元和应用程序单元,所述微处理器与上位机通讯连接,其中,所述启动加载单元包括
升级判断模块:用于读取嵌入式系统中的程序升级标志并执行相应动作,若程序升级标志置位,则进行程序升级动作,若程序升级标志复位,则执行应用程序单元;
程序下载请求模块:用于微处理器向上位机请求程序下载包和校验码;
程序解密模块:用于应用程序文件的解密;
程序下载计时模块:用于计算接收应用程序的时间间隔,若计时超过了预定的时间周期,升级超时标志将置位,微处理器复位,系统重新开始程序升级操作;
所述应用程序单元执行具体的业务逻辑,将程序升级标志置位,微处理器复位重启并进入启动加载单元,所述启动加载单元通过与所述上位机通信的方式将升级程序烧录到微处理器中。
本发明嵌入式设备程序升级的主体是微处理器,嵌入式设备的微处理器包括启动加载单元和应用程序单元,启动加载单元由程序下载器烧录到微处理器的闪存(flash)中,启动加载单元和应用程序单元位于闪存中的不同地址。
具体应用过程中,升级判断模块判断程序升级标志的状态,决定微处理器下一步的执行动作,如果程序升级标志置位,则微处理器执行启动加载单元中的程序 ,直至可靠的完成程序升级工作,否则进行程序地址跳转,执行应用程序单元。程序下载请求模块用于向上位机发送请求,当上位机收到微处理器的请求后,将应用程序分包加密后再通信传输给微处理器。程序解密模块在接收到上位机下发的应用程序包后,进行解密校验工作。程序下载计时模块中规定了接收应用程序文件的时间周期,若超过时间周期,微处理器将复位,重新开始程序升级操作。
本发明微处理器在程序升级过程中,发生微处理器的电源掉电的意外情况时,由于微处理器没有可靠完成程序升级工作,所以微处理器没有复位程序升级标志,当微处理器再次上电时,微处理器运行启动加载单元,此时可以用上位机对微处理器重新进行升级操作。当上位机和微处理的通信链路中断、上位机宕机、人工操作失误的情况发生时,微处理器不能在规定的周期内收到应用程序文件,微处理器将执行复位操作,复位后微处理器重新运行启动加载单元开始程序升级操作。通过上述方式,本发明解决了程序下载过程中设备突然断电、人工操作失误、上位机宕机、升级传输通道中断等故障导致的程序升级失败问题。
进一步的技术方案是,所述应用程序单元包括
升级标志处理模块:用于接收上位机的升级指令后,将程序升级标志置位;
程序复位模块:用于升级前的微处理器进行复位操作,复位后微处理器进入启动加载单元;
应用与业务模块:用于执行所述嵌入式设备的具体业务,处理业务逻辑时可随时接受上位机发送的升级指令。
本发明的应用程序单元中的升级标志处理模块在收到上位机的升级指令后,置位程序升级标志,并启动程序复位模块,微处理器此时会进行系统复位,系统重新运行启动加载单元。应用与业务模块子程序为微处理器的业务处理程序,在运行业务模块子程序的任何时间,均可以接收上位机的指令,从而执行升级判断模块子程序。
进一步的技术方案是,所述嵌入式设备程序升级系统还包括设置在上位机中的升级请求模块、程序加密模块和程序下发模块,其中,升级请求模块用于向微处理器发起程序升级请求;程序加密模块用于对下发的程序进行加密;程序下发模块用于将程序文件下发至微处理器。
使用上位机第一次升级微处理器的应用程序单元,升级请求模块用于在上位机和微处理器建立通讯连接后,下发指令给微处理器请求程序升级操作,微处理器收到程序升级请求时,置位程序升级标志,并且复位。程序下发模块用于回应微处理器的程序下载请求,收到微处理器的程序下载请求时,上位机将加密得到校验码的程序文件下发给微处理器。
设备出厂后,用户需要对设备进行升级时,使用上位机在微处理器运行应用程序单元时进行程序升级。上位机与微处理器建立通讯连接后,上位机升级请求模块发送请求升级指令,微处理器收到请求后,执行程序复位模块,复位程序升级标志置位,从而微处理器的程序跳转执行启动加载单元,此时,上位机微处理器的启动加载单元进行通信,直至完成可靠的程序升级操作。
进一步的技术方案是,所述上位机还设有消息提示模块,所述消息提示模块用于提醒程序升级过程和升级结果信息。
进一步的技术方案是,所述程序加密模块将应用程序分为单包应用程序文件和整包应用程序文件分别进行加密,对单包应用程序文件进行加密得到单包校验码,整包应用程序文件加密得到整包校验码;程序下发模块将整包应用程序文件进行分包处理并下发,其下发的单包程序中包含了单包校验码,下发最后的单包应用程序文件中后包含了整包校验码。
受现场环境影响,上位机和微处理器通讯传输误码的情况发生时,微处理器针对应用程序文件的单包和整包都做了解密校验操作,单包和整包的解密校验方式不同,最大限度保证了数据的正确性,如果存在通讯传输误码,微处理器将复位,重新运行启动加载单元,在程序升级过程中,微处理器接收单包程序文件后便烧录到闪存中,不需要将完整的程序文件保存在ROM中,所以对闪存和内存较小的微处理器都可以适用。
进一步的技术方案是,所述程序解密模块的解密校验工作分为单包应用程序文件解密和整包应用程序文件解密,只有单包应用程序文件解密校验正确后,才会烧录到微处理器的闪存中,当整包应用程序文件解密校验正确后,才会复位程序升级标志,标志程序升级工作结束。
为达到上述目的,本发明还提供一种嵌入式设备程序升级方法,通过上述任一所述的嵌入式设备程序升级系统执行,包括如下步骤:
S1:微处理器上电后运行启动加载单元,判断程序升级标志的状态,若程序升级标志置位,则微处理器执行步骤S2,否则执行步骤S11;
S2:微处理器向上位机请求单包应用程序文件并进行通讯等待后执行步骤S3;
S3:判断升级超时标志是否置位,若升级超时标志置位,表明在规定的时间内没有收到上位机下发的程序文件,则执行步骤S1,若升级超时标志没有置位,表明与上位机的通讯正常,则执行步骤S4;
S4:微处理器收到上位机的程序文件后,对程序文件进行解密计算,将解密出来的校验码和上位机发送的校验码进行比较,若校验码不同,表明传输过程中存在误码,则执行步骤S1,若校验码相同,则执行步骤S5;
S5:微处理器解析接收到的程序文件是否为程序升级结束指令,如果是,则执行步骤S8,否则执行步骤S6;
S6:在规定的周期内收到上位机发送的程序文件后复位升级超时定时器,执行步骤S7;
S7:微处理器将程序文件擦写到闪存,重复执行步骤S2;
S8:对接收到的整包应用程序文件进行解密计算,将计算出来的校验码和上位机发送的整包应用程序校验码进行比较,如果校验码一致,表明程序文件传输正确,升级程序正确无误,执行步骤S9,若校验码不同,表明程序文件存在错误,执行步骤S1,重新开始升级操作;
S9:复位程序升级标志,执行S10;
S10:停止升级超时定时器,执行S11;
S11:运行应用程序单元。
进一步的技术方案是,微处理器请求的程序文件以及上位机下发的程序文件均为程序分包文件,程序分包文件包括单包应用程序文件和校验码。
进一步的技术方案是,所述升级超时定时器的运行流程如下:
S20:微处理器上电运行启动加载单元后,判断程序升级标志的状态,如果程序升级标志置位,微处理器执行步骤S21,否则不进行动作。
S21:设定超时定时器的超时阈值,然后启动升级超时定时器,执行步骤S22;
S22:判断升级超时定时器是否达到了设置的超时阈值,若没有达到,则持续执行步骤S22,若达到了升级超时定时器的超时阈值,则执行步骤S23;
S23:置位升级超时标志,表明在规定的周期内,升级程序流程没有复位升级超时定时器,执行S24;
S24:升级超时定时器停止运行,结束定时器的工作。
其中,所述升级超时定时器的运行流程与上嵌入式设备程序升级流程并行执行。
进一步的技术方案是,所述升级超时定时器为软件定时器、硬件定时器或程序计数器。
相比于现有技术,本发明微处理器运行启动加载单元后,只有在升级应用程序文件无误后,程序才会跳转执行应用程序,否则微处理器一直运行启动加载单元,进行程序升级工作,同时升级判断模块的设置解决了在升级过程中发生微处理器断电导致的程序升级失败问题,程序下载计时模块的设置解决了在升级过程中传输中断,人工操作失误、上位机宕机等故障导致的程序升级失败问题。另一方面,微处理的启动加载单元中添加程序解密模块,解决了通讯传输误码的问题。再次,微处理器的启动加载单元中,将接受到的程序分包擦写到闪存中,不需要将全部的程序文件接受完成后再擦写,解决了内存容量小、闪存容量较小的嵌入式设备刷写程序难题。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明一种实施方式所涉及的嵌入式设备程序升级系统的结构框图;
图2和图3分别为本发明一种实施方式所涉及的嵌入式设备程序升级系统的信息传输示意图;
图4为本发明一种实施方式所涉及的嵌入式设备程序升级方法的流程示意图;
图5为本发明一种实施方式所涉及的升级超时定时器的运行流程示意图。
具体实施方式
下面结合附图对本发明进行详细描述,本部分的描述仅是示范性和解释性,不应对本发明的保护范围有任何的限制作用。此外,本领域技术人员根据本文件的描述,可以对本文件中实施例中以及不同实施例中的特征进行相应组合。
本发明实施例如下,参照图1,一种嵌入式设备程序升级系统,包括设置在嵌入式设备的微处理器中的启动加载单元和应用程序单元,所述微处理器与上位机通讯连接,其中,所述启动加载单元包括
升级判断模块:用于读取嵌入式系统中的程序升级标志并执行相应动作,若程序升级标志置位,则进行程序升级动作,若程序升级标志复位,则执行应用程序单元;
程序下载请求模块:用于微处理器向上位机请求程序下载包和校验码;
程序解密模块:用于应用程序文件的解密;
程序下载计时模块:用于计算接收应用程序的时间间隔,若计时超过了预定的时间周期,升级超时标志将置位,微处理器复位,系统重新开始程序升级操作;
所述应用程序单元执行具体的业务逻辑,将程序升级标志置位,微处理器复位重启并进入启动加载单元,所述启动加载单元通过与所述上位机通信的方式将升级程序烧录到微处理器中。
本发明嵌入式设备程序升级的主体是微处理器,嵌入式设备的微处理器包括启动加载单元和应用程序单元,启动加载单元由程序下载器烧录到微处理器的闪存(flash)中,启动加载单元和应用程序单元位于闪存中的不同地址。
具体应用过程中,升级判断模块判断程序升级标志的状态,决定微处理器下一步的执行动作,如果程序升级标志置位,则微处理器执行启动加载单元中的程序 ,直至可靠的完成程序升级工作,否则进行程序地址跳转,执行应用程序单元。程序下载请求模块用于向上位机发送请求,当上位机收到微处理器的请求后,将应用程序分包加密后再通信传输给微处理器。程序解密模块在接收到上位机下发的应用程序包后,进行解密校验工作。程序下载计时模块中规定了接收应用程序文件的时间周期,若超过时间周期,微处理器将复位,重新开始程序升级操作。
本发明微处理器在程序升级过程中,发生微处理器的电源掉电的意外情况时,由于微处理器没有可靠完成程序升级工作,所以微处理器没有复位程序升级标志,当微处理器再次上电时,微处理器运行启动加载单元,此时可以用上位机对微处理器重新进行升级操作。当上位机和微处理的通信链路中断、上位机宕机、人工操作失误的情况发生时,微处理器不能在规定的周期内收到应用程序文件,微处理器将执行复位操作,复位后微处理器重新运行启动加载单元开始程序升级操作。通过上述方式,本发明解决了程序下载过程中设备突然断电、人工操作失误、上位机宕机、升级传输通道中断等故障导致的程序升级失败问题。
上述实施例的基础上,本发明另一实施例中,如图1~3,所述应用程序单元包括
升级标志处理模块:用于接收上位机的升级指令后,将程序升级标志置位;
程序复位模块:用于升级前的微处理器进行复位操作,复位后微处理器进入启动加载单元;
应用与业务模块:用于执行所述嵌入式设备的具体业务,处理业务逻辑时可随时接受上位机发送的升级指令。
本发明的应用程序单元中的升级标志处理模块在收到上位机的升级指令后,置位程序升级标志,并启动程序复位模块,微处理器此时会进行系统复位,系统重新运行启动加载单元。应用与业务模块子程序为微处理器的业务处理程序,在运行业务模块子程序的任何时间,均可以接收上位机的指令,从而执行升级判断模块子程序。
上述实施例的基础上,本发明另一实施例中,如图2和图3,所述嵌入式设备程序升级系统还包括设置在上位机中的升级请求模块、程序加密模块和程序下发模块,其中,升级请求模块用于向微处理器发起程序升级请求;程序加密模块用于对下发的程序进行加密;程序下发模块用于将程序文件下发至微处理器。
如图2,使用上位机第一次升级微处理器的应用程序单元,升级请求模块用于在上位机和微处理器建立通讯连接后,下发指令给微处理器请求程序升级操作,微处理器收到程序升级请求时,置位程序升级标志,并且复位。程序下发模块用于回应微处理器的程序下载请求,收到微处理器的程序下载请求时,上位机将加密得到校验码的程序文件下发给微处理器。
如图3,设备出厂后,用户需要对设备进行升级时,使用上位机在微处理器运行应用程序单元时进行程序升级。上位机与微处理器建立通讯连接后,上位机升级请求模块发送请求升级指令,微处理器收到请求后,执行程序复位模块,复位程序升级标志置位,从而微处理器的程序跳转执行启动加载单元,此时,上位机微处理器的启动加载单元进行通信,直至完成可靠的程序升级操作。
上述实施例的基础上,本发明另一实施例中,如图2和图3,所述上位机还设有消息提示模块,所述消息提示模块用于提醒程序升级过程和升级结果信息。
上述实施例的基础上,本发明另一实施例中,所述程序加密模块将应用程序分为单包应用程序文件和整包应用程序文件分别进行加密,对单包应用程序文件进行加密得到单包校验码,整包应用程序文件加密得到整包校验码;程序下发模块将整包应用程序文件进行分包处理并下发,其下发的单包程序中包含了单包校验码,下发最后的单包应用程序文件中后包含了整包校验码。
受现场环境影响,上位机和微处理器通讯传输误码的情况发生时,微处理器针对应用程序文件的单包和整包都做了解密校验操作,单包和整包的解密校验方式不同,最大限度保证了数据的正确性,如果存在通讯传输误码,微处理器将复位,重新运行启动加载单元,在程序升级过程中,微处理器接收单包程序文件后便烧录到闪存中,不需要将完整的程序文件保存在ROM中,所以对闪存和内存较小的微处理器都可以适用。
上述实施例的基础上,本发明另一实施例中,所述程序解密模块的解密校验工作分为单包应用程序文件解密和整包应用程序文件解密,只有单包应用程序文件解密校验正确后,才会烧录到微处理器的闪存中,当整包应用程序文件解密校验正确后,才会复位程序升级标志,标志程序升级工作结束。
为达到上述目的,本发明还提供一种嵌入式设备程序升级方法,通过上述任一所述的嵌入式设备程序升级系统执行,如图4,包括如下步骤:
S1:微处理器上电后运行启动加载单元,判断程序升级标志的状态,若程序升级标志置位,则微处理器执行步骤S2,否则执行步骤S11;
S2:微处理器向上位机请求单包应用程序文件并进行通讯等待后执行步骤S3;
S3:判断升级超时标志是否置位,若升级超时标志置位,表明在规定的时间内没有收到上位机下发的程序文件,则执行步骤S1,若升级超时标志没有置位,表明与上位机的通讯正常,则执行步骤S4;
S4:微处理器收到上位机的程序文件后,对程序文件进行解密计算,将解密出来的校验码和上位机发送的校验码进行比较,若校验码不同,表明传输过程中存在误码,则执行步骤S1,若校验码相同,则执行步骤S5;
S5:微处理器解析接收到的程序文件是否为程序升级结束指令,如果是,则执行步骤S8,否则执行步骤S6;
S6:在规定的周期内收到上位机发送的程序文件后复位升级超时定时器,执行步骤S7;
S7:微处理器将程序文件擦写到闪存,重复执行步骤S2;
S8:对接收到的整包应用程序文件进行解密计算,将计算出来的校验码和上位机发送的整包应用程序校验码进行比较,如果校验码一致,表明程序文件传输正确,升级程序正确无误,执行步骤S9,若校验码不同,表明程序文件存在错误,执行步骤S1,重新开始升级操作;
S9:复位程序升级标志,执行S10;
S10:停止升级超时定时器,执行S11;
S11:运行应用程序单元。
上述实施例的基础上,本发明另一实施例中,如图4,微处理器请求的程序文件以及上位机下发的程序文件均为程序分包文件,程序分包文件包括单包应用程序文件和校验码。
上述实施例的基础上,本发明另一实施例中,如图5,所述升级超时定时器的运行流程如下:
S20:微处理器上电运行启动加载单元后,判断程序升级标志的状态,如果程序升级标志置位,微处理器执行步骤S21,否则不进行动作。
S21:设定超时定时器的超时阈值,然后启动升级超时定时器,执行步骤S22;
S22:判断升级超时定时器是否达到了设置的超时阈值,若没有达到,则持续执行步骤S22,若达到了升级超时定时器的超时阈值,则执行步骤S23;
S23:置位升级超时标志,表明在规定的周期内,升级程序流程没有复位升级超时定时器,执行S24;
S24:升级超时定时器停止运行,结束定时器的工作。
其中,所述升级超时定时器的运行流程与上嵌入式设备程序升级流程并行执行。
上述实施例的基础上,本发明另一实施例中,所述升级超时定时器为软件定时器、硬件定时器或程序计数器。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (7)

1.一种嵌入式设备程序升级系统,其特征在于,包括设置在嵌入式设备的微处理器中的启动加载单元和应用程序单元,所述微处理器与上位机通讯连接,其中,所述启动加载单元包括
升级判断模块:用于读取嵌入式系统中的程序升级标志并执行相应动作,若程序升级标志置位,则进行程序升级动作,若程序升级标志复位,则执行应用程序单元;
程序下载请求模块:用于微处理器向上位机请求程序下载包和校验码;
程序解密模块:用于应用程序文件的解密;
程序下载计时模块:用于计算接收应用程序的时间间隔,若计时超过了预定的时间周期,升级超时标志将置位,微处理器复位,系统重新开始程序升级操作;
所述应用程序单元执行具体的业务逻辑,将程序升级标志置位,微处理器复位重启并进入启动加载单元,所述启动加载单元通过与所述上位机通信的方式将升级程序烧录到微处理器中;
所述嵌入式设备程序升级系统还包括设置在上位机中的升级请求模块、程序加密模块和程序下发模块,其中,升级请求模块用于向微处理器发起程序升级请求;程序加密模块用于对下发的程序进行加密;程序下发模块用于将程序文件下发至微处理器;所述程序加密模块将应用程序分为单包应用程序文件和整包应用程序文件分别进行加密,对单包应用程序文件进行加密得到单包校验码,整包应用程序文件加密得到整包校验码;程序下发模块将整包应用程序文件进行分包处理并下发,其下发的单包程序中包含了单包校验码,下发最后的单包应用程序文件中后包含了整包校验码,所述程序解密模块的解密校验工作分为单包应用程序文件解密和整包应用程序文件解密,只有单包应用程序文件解密校验正确后,才会烧录到微处理器的闪存中,当整包应用程序文件解密校验正确后,才会复位程序升级标志,标志程序升级工作结束。
2.根据权利要求1所述的嵌入式设备程序升级系统,其特征在于,所述应用程序单元包括
升级标志处理模块:用于接收上位机的升级指令后,将程序升级标志置位;
程序复位模块:用于升级前的微处理器进行复位操作,复位后微处理器进入启动加载单元;
应用与业务模块:用于执行所述嵌入式设备的具体业务,处理业务逻辑时可随时接受上位机发送的升级指令。
3.根据权利要求1或2所述的嵌入式设备程序升级系统,其特征在于,所述上位机还设有消息提示模块,所述消息提示模块用于提醒程序升级过程和升级结果信息。
4.一种嵌入式设备程序升级方法,其特征在于,通过权利要求1~3任意一项所述的嵌入式设备程序升级系统执行,包括如下步骤:
S1,微处理器上电后运行启动加载单元,判断程序升级标志的状态,若程序升级标志置位,则微处理器执行步骤S2,否则执行步骤S11;
S2,微处理器向上位机请求单包应用程序文件并进行通讯等待后执行步骤S3;
S3,判断升级超时标志是否置位,若升级超时标志置位,表明在规定的时间内没有收到上位机下发的程序文件,则执行步骤S1,若升级超时标志没有置位,表明与上位机的通讯正常,则执行步骤S4;
S4,微处理器收到上位机的程序文件后,对程序文件进行解密计算,将解密出来的校验码和上位机发送的校验码进行比较,若校验码不同,表明传输过程中存在误码,则执行步骤S1,若校验码相同,则执行步骤S5;
S5,微处理器解析接收到的程序文件是否为程序升级结束指令,如果是,则执行步骤S8,否则执行步骤S6;
S6,在规定的周期内收到上位机发送的程序文件后复位升级超时定时器,执行步骤S7;
S7,微处理器将程序文件擦写到闪存,重复执行步骤S2;
S8,对接收到的整包应用程序文件进行解密计算,将计算出来的校验码和上位机发送的整包应用程序校验码进行比较,如果校验码一致,表明程序文件传输正确,升级程序正确无误,执行步骤S9,若校验码不同,表明程序文件存在错误,执行步骤S1,重新开始升级操作;
S9,复位程序升级标志,执行S10;
S10,停止升级超时定时器,执行S11;
S11,运行应用程序单元。
5.根据权利要求4所述的嵌入式设备程序升级方法,其特征在于,微处理器请求的程序文件以及上位机下发的程序文件均为程序分包文件,程序分包文件包括单包应用程序文件和校验码。
6.根据权利要求5所述的嵌入式设备程序升级方法,其特征在于,所述升级超时定时器的运行流程如下:
S20,微处理器上电运行启动加载单元后,判断程序升级标志的状态,如果程序升级标志置位,微处理器执行步骤S21,否则不进行动作;
S21,设定超时定时器的超时阈值,然后启动升级超时定时器,执行步骤S22;
S22,判断升级超时定时器是否达到了设置的超时阈值,若没有达到,则持续执行步骤S22,若达到了升级超时定时器的超时阈值,则执行步骤S23;
S23,置位升级超时标志,表明在规定的周期内,升级程序流程没有复位升级超时定时器,执行S24;
S24,升级超时定时器停止运行,结束定时器的工作;
其中,所述升级超时定时器的运行流程与上嵌入式设备程序升级流程并行执行。
7.根据权利要求5或6所述的嵌入式设备程序升级方法,其特征在于,所述升级超时定时器为软件定时器、硬件定时器或程序计数器。
CN202111312864.3A 2021-11-08 2021-11-08 一种嵌入式设备程序升级系统及方法 Active CN113741943B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111312864.3A CN113741943B (zh) 2021-11-08 2021-11-08 一种嵌入式设备程序升级系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111312864.3A CN113741943B (zh) 2021-11-08 2021-11-08 一种嵌入式设备程序升级系统及方法

Publications (2)

Publication Number Publication Date
CN113741943A true CN113741943A (zh) 2021-12-03
CN113741943B CN113741943B (zh) 2022-03-18

Family

ID=78727718

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111312864.3A Active CN113741943B (zh) 2021-11-08 2021-11-08 一种嵌入式设备程序升级系统及方法

Country Status (1)

Country Link
CN (1) CN113741943B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297429A (zh) * 2013-05-23 2013-09-11 北京大学 一种嵌入式升级文件传输方法
CN103488501A (zh) * 2013-09-09 2014-01-01 青岛海信宽带多媒体技术有限公司 光网络终端设备及其系统软件升级方法
CN105573810A (zh) * 2016-03-23 2016-05-11 重庆邮电大学 一种无线传感器网络节点远程升级方法及装置
CN108418893A (zh) * 2018-03-20 2018-08-17 深圳市闪联信息技术有限公司 一种智能设备固件安全升级的方法
US20180373523A1 (en) * 2016-05-07 2018-12-27 Tencent Technology (Shenzhen) Company Limited Application update method and apparatus
CN109358887A (zh) * 2018-12-17 2019-02-19 武汉精立电子技术有限公司 一种单片机程序的在线升级方法、装置及系统
CN109933348A (zh) * 2019-01-21 2019-06-25 宁波普瑞均胜汽车电子有限公司 一种电子控制单元中Bootloader的更新方法和装置
CN111538512A (zh) * 2020-04-16 2020-08-14 山东正中信息技术股份有限公司 一种空中下载技术ota固件升级方法、装置及设备
CN111930406A (zh) * 2020-10-12 2020-11-13 蘑菇车联信息科技有限公司 车载终端微控制单元软件升级方法、电子设备及存储介质
CN112612498A (zh) * 2020-12-30 2021-04-06 深圳市九洲电器有限公司 一种嵌入式设备升级方法和嵌入式设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297429A (zh) * 2013-05-23 2013-09-11 北京大学 一种嵌入式升级文件传输方法
CN103488501A (zh) * 2013-09-09 2014-01-01 青岛海信宽带多媒体技术有限公司 光网络终端设备及其系统软件升级方法
CN105573810A (zh) * 2016-03-23 2016-05-11 重庆邮电大学 一种无线传感器网络节点远程升级方法及装置
US20180373523A1 (en) * 2016-05-07 2018-12-27 Tencent Technology (Shenzhen) Company Limited Application update method and apparatus
CN108418893A (zh) * 2018-03-20 2018-08-17 深圳市闪联信息技术有限公司 一种智能设备固件安全升级的方法
CN109358887A (zh) * 2018-12-17 2019-02-19 武汉精立电子技术有限公司 一种单片机程序的在线升级方法、装置及系统
CN109933348A (zh) * 2019-01-21 2019-06-25 宁波普瑞均胜汽车电子有限公司 一种电子控制单元中Bootloader的更新方法和装置
CN111538512A (zh) * 2020-04-16 2020-08-14 山东正中信息技术股份有限公司 一种空中下载技术ota固件升级方法、装置及设备
CN111930406A (zh) * 2020-10-12 2020-11-13 蘑菇车联信息科技有限公司 车载终端微控制单元软件升级方法、电子设备及存储介质
CN112612498A (zh) * 2020-12-30 2021-04-06 深圳市九洲电器有限公司 一种嵌入式设备升级方法和嵌入式设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
羽林军: "设备OTA空中升级原理", 《HTTPS://JISHUIN.PROGIN.COM/P/763BFBD59335》 *

Also Published As

Publication number Publication date
CN113741943B (zh) 2022-03-18

Similar Documents

Publication Publication Date Title
CN106569847B (zh) 一种用于车载系统基于移动网络实现iap远程升级的方法
CN107179909B (zh) 软件升级方法、装置及计算机可读存储介质
US7664923B2 (en) Method and system for updating software
ES2371995T3 (es) Actualización del firmware de un dispositivo electrónico.
CN109189445B (zh) 一种物联网设备程序升级的方法
US9205809B2 (en) Vehicle unit and method for operating the vehicle unit
US8539472B2 (en) Method and system of updating shared memory
US20040158775A1 (en) Nonvolatile memory
CN111813428A (zh) 终端固件的升级方法、装置、电子设备及存储介质
US11442718B2 (en) Embedded system and method of controlling non-volatile memory to perform firmware update
CN103761112A (zh) 一种车载多媒体装置及其控制方法
CN102508686A (zh) 一种系统安全升级的实现方法及其系统
CN111641527A (zh) 一种嵌入式芯片软件远程升级备份方法
CN112947977A (zh) 一种软件在线升级方法及系统
CN102722408B (zh) 一种通讯设备软件更新的方法及装置
US7934050B2 (en) Microcomputer for flash memory rewriting
CN113741943B (zh) 一种嵌入式设备程序升级系统及方法
CN109408079B (zh) 一种嵌入式设备及其升级方法
CN115102855B (zh) 智能水表嵌入式软件在线升级方法及系统
CN115061704A (zh) 一种固件升级方法和电子设备
CN115280280A (zh) 用于朝向车辆的车载计算机的存储器更新包括物理地址的软件的更新方法和更新装置
CN109428936B (zh) App的升级方法、装置、系统、电子设备及存储介质
CN112667444A (zh) 一种系统升级方法、存储介质及终端设备
CN112152836B (zh) 小存储容量设备的远程固件自动升级方法、系统及芯片
CN114064086B (zh) 多级处理器系统及其升级方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: An Embedded Device Program Upgrade System and Method

Effective date of registration: 20230313

Granted publication date: 20220318

Pledgee: Cloud Storage New Energy Technology Co.,Ltd.

Pledgor: Xiang investment Cloud Storage Technology Co.,Ltd.

Registration number: Y2023980034667

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230714

Granted publication date: 20220318

Pledgee: Cloud Storage New Energy Technology Co.,Ltd.

Pledgor: Xiang investment Cloud Storage Technology Co.,Ltd.

Registration number: Y2023980034667

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230814

Address after: Floor 1, Building 4, No. 27, Xingyu Road, Zhifu District, Yantai City, Shandong Province, 264004

Patentee after: Cloud Storage New Energy Technology Co.,Ltd.

Address before: 410000 1st floor, No.1 office building, Hunan Electronic Information Industry Group Co., Ltd., No.40, Lufeng Road, high tech Development Zone, Changsha City, Hunan Province

Patentee before: Xiang investment Cloud Storage Technology Co.,Ltd.