嵌入式系统的固件升级方法技术方案

技术编号:15690536 阅读:203 留言:0更新日期:2017-06-24 03:00
本发明专利技术公开一种嵌入式系统的固件升级方法。该嵌入式系统的固件升级方法包括:初始化升级固化区,启动看门狗程序并计时;判断在预设时间内是否接收到升级指令;若接收到所述升级指令,则在所述升级固化区内执行所述升级指令,完成应用程序升级。该嵌入式系统的固件升级方法,可使嵌入式系统在较长的预设时间内等待升级,以保证嵌入式系统的升级。

Firmware upgrading method of embedded system

The invention discloses a firmware upgrading method of an embedded system. The embedded system firmware upgrade method comprises initializing upgrade curing area, start the watchdog program and timing; determine whether the received upgrade instruction within a preset time; if the received upgrade instruction, the curing area executes the instructions in the upgrade upgrade, complete application upgrade. The firmware upgrade method of embedded system can make the embedded system wait for upgrade in a longer preset time, so as to ensure the upgrade of embedded system.

【技术实现步骤摘要】
嵌入式系统的固件升级方法
本专利技术涉及嵌入式系统领域,尤其涉及一种嵌入式系统的固件升级方法。
技术介绍
嵌入式系统是一种专用计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、汽车、手机、智能机器人等都使用了嵌入式系统。在智能机器人中,舵机内置有嵌入式系统,使其作为智能机器人中的动力元件,是智能机器人实现智能化的关键元件。在舵机的嵌入式系统中,由于功能变化、故障修复等原因,需要对嵌入式系统中的软件版本进行升级,即采用新的控制程序替代原来的控制程序,以满足舵机的日益多样化的功能需求。当前舵机和智能终端上内置的嵌入式系统设有存储器FLASH,并将存储器FLASH划分为用于存放升级引导程序(Bootloader)的升级固化区(即BOOT区)和用于存放不同功能应用程序的应用程序区(即APP区)。当前舵机内设置的嵌入式系统升级时,系统上电后只能在较短的开机时间停留在升级固化区内通过升级引导程序(Bootloader)进行升级,这个时间一般为8-16ms。由于嵌入式系统只能在较短的开机时间内进行升级,若在开机时间内没有接收到升级指令或升级不成功,系统将会跳转到应用程序区执行应用程序;并且只能等到下一次系统上电的开机时间内进行升级。
技术实现思路
本专利技术要解决的技术问题在于,针对现有嵌入式系统仅能在较短的开机时间内进行升级所存在的缺陷,提供一种嵌入式系统的固件升级方法。本专利技术解决其技术问题所采用的技术方案是:一种嵌入式系统的固件升级方法,包括:初始化升级固化区,启动看门狗程序并计时;判断在预设时间内是否接收到升级指令;若接收到所述升级指令,则在所述升级固化区内执行所述升级指令,完成应用程序升级。优选地,还包括步骤:若所述在预设时间内没有接收到所述升级指令,则跳转到应用程序区。优选地,还包括步骤:执行应用程序区中的应用程序。优选地,还包括步骤:判断所述执行应用程序时是否接收到所述升级指令;若接收到所述升级指令,则停止喂狗,等待所述看门狗程序向所述微处理器发送复位信号;跳转到所述初始化升级固化区,启动看门狗程序并计时步骤。优选地,若所述执行应用程序时未接收到所述升级指令,则继续执行应用程序。优选地,所述停止喂狗,等待所述看门狗程序向所述微处理器发送复位信号步骤前,还包括:将所述升级标志位设置为升级状态;所述判断在预设时间内是否接收到升级指令步骤前还包括:判断嵌入式系统的升级标志位是否为升级状态;若为升级状态,则执行所述在所述升级固化区内执行所述升级指令,完成应用程序升级步骤。优选地,还包括步骤:若所述升级标志位为非升级状态,则执行所述判断在预设时间内是否接收到升级指令步骤。优选地,在所述升级固化区内执行所述升级指令,完成应用程序升级步骤之前还包括:将所述升级标志位设置为升级状态;在所述升级固化区内执行所述升级指令,完成应用程序升级步骤之后还包括:将所述升级标志位设置为非升级状态。优选地,所述初始化升级固化区,启动看门狗程序并计时之前,还包括:使嵌入式系统上电复位。优选地,所述预设时间大于所述嵌入式系统的开机升级时间。本专利技术与现有技术相比具有如下优点:本专利技术所提供的嵌入式系统的固件升级方法中,通过判断在预设时间内是否接收到升级指令,以使升级固件区初始化后的预设时间内均处于升级固化区等待接收升级指令,以保证嵌入式系统在较长的预设时间内等待升级,使得嵌入式系统的等待升级时间较长,以保证嵌入式系统的升级。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1是本专利技术一实施例中嵌入式系统的固件升级方法的一流程图。图2是本专利技术一实施例中嵌入式系统的固件升级方法的另一流程图。具体实施方式为了对本专利技术的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本专利技术的具体实施方式。图1和图2示出本实施例中的嵌入式系统的固件升级方法的流程图。该嵌入式系统包括但不限于舵机内置的嵌入式系统,还可以是其他智能终端上内置的嵌入式系统。如图1所示,在一具体实施方式中,该嵌入式系统的固件升级方法包括如下步骤:S1:初始化升级固化区,启动看门狗程序并计时。每一嵌入式系统设有看门狗(WatchDogTimer,简称WDT)程序,在嵌入式系统的MCU(即MicrocontrollerUnit,微控制单元,以下简称为MCU)正常工作时,每隔一喂狗时间(如8ms)会输出一个喂狗信号给看门狗程序,以使看门狗程序清零;若超过喂狗时间不喂狗,即不输出喂狗信号给看门狗程序,看门狗程序会给MCU一个复位信号,使MCU复位,从而防止MCU死机。其中,喂狗时间是看门狗定时器计数溢出时间,一旦到达计数阈值,看门狗就会产生复位。MCU必须在这个周期内对这个定时器进行清零处理,让看门狗定时器重新计数,防止看门狗产生复位。可以理解地,在嵌入式系统的固件升级过程中,需将嵌入式系统与程序烧录终端相连。在程序烧录终端上生成或存储有升级程序代码,并通过串口与嵌入式系统通信,以将升级程序代码写入嵌入式系统,使嵌入式系统的固件升级,使其功能更完善,以满足产品需求。该程序烧录终端包括但不限于电脑。S2:微处理单元判断在预设时间内是否接收到升级指令。该预设时间由用户根据应用程序的升级时间自主设置,使升级固化区在初始化后的预设时间内MCU均停留在升级固化区,以等待接收升级指令并进行升级。本实施例中预设时间设为500ms,相比于嵌入式系统的开机升级时间(8-16ms),预设时间较长,可使MCU在预设时间内处于升级固化区内等待接收升级指令。S3:若接收到升级指令,则在升级固化区内执行升级指令,完成应用程序升级。在预设时间内,MCU会每隔一喂狗时间发送一喂狗信号,以保证MCU在升级固化区等待接收升级指令,若MCU接收到升级指令,则在升级固化区执行升级指令,以完成应用程序升级。S4:若没有接收到升级指令,则跳转到应用程序区。可以理解地,在固件升级区初始化后,MCU只有在预设时间(500ms)均没有接收到升级指令,才会跳转到应用程序区。可以理解地,嵌入式系统跳转到应用程序区后,会执行应用程序区的应用程序,该应用程序可以是嵌入式系统出厂时直接烧录的应用程序,也可以是嵌入式系统在系统固件升级之后加载的应用程序。该嵌入式系统的固件升级方法中,通过判断在预设时间内是否接收到升级指令,以使升级固件区初始化后的预设时间内均处于升级固化区等待接收升级指令,以保证嵌入式系统在较长的预设时间内等待升级,使得嵌入式系统的等待升级时间较长,以保证嵌入式系统的升级。如图2所示,在另一具体实施方式中,该嵌入式系统的固件升级方法包括如下步骤:S01:使嵌入式系统上电复位。其中,嵌入式系统包括但不限于舵机内置的嵌入式系统。嵌入式系统上电复位是指嵌入式系统的复位引脚上RST上,持续一段时间的高电平或者低电平,会使系统进入初始化的状态。S02:初始化升级固化区,启动看门狗程序并计时。每一嵌入式系统设有看门狗(WatchDogTimer,简称WDT)程序,在嵌入式系统的MCU(即MicrocontrollerUnit,微控制单元,以下简称为MCU)正常工作时,每隔一喂狗时间(如8ms)会输出一个喂狗信号给看门狗程序,以使看门狗程序清零;若本文档来自技高网...
嵌入式系统的固件升级方法

【技术保护点】
一种嵌入式系统的固件升级方法,其特征在于,包括:初始化升级固化区,启动看门狗程序并计时;判断在预设时间内是否接收到升级指令;若接收到所述升级指令,则在所述升级固化区内执行所述升级指令,完成应用程序升级。

【技术特征摘要】
1.一种嵌入式系统的固件升级方法,其特征在于,包括:初始化升级固化区,启动看门狗程序并计时;判断在预设时间内是否接收到升级指令;若接收到所述升级指令,则在所述升级固化区内执行所述升级指令,完成应用程序升级。2.根据权利要求1所述的方法,其特征在于,还包括步骤:若在预设时间内没有接收到所述升级指令,则跳转到应用程序区。3.根据权利要求2所述的方法,其特征在于,还包括步骤:执行应用程序区中的应用程序。4.根据权利要求3所述的方法,其特征在于,还包括步骤:判断执行应用程序时是否接收到所述升级指令;若接收到所述升级指令,则停止喂狗,等待所述看门狗程序向所述微处理器发送复位信号;跳转到所述初始化升级固化区,启动看门狗程序并计时步骤。5.根据权利要求4所述的方法,其特征在于,若执行应用程序时未接收到所述升级指令,则继续执行应用程序。6.根据权利要求4所述的方法,其特征在于:所述停止喂狗,等待所述看门狗程序向所述微处理器发送...

【专利技术属性】
技术研发人员:莫振敏熊友军
申请(专利权)人:深圳市优必选科技有限公司
类型:发明
国别省市:广东,44

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

1