A firmware updating method and controller is designed to solve the problem that the original firmware is damaged and the system can not work normally when the abnormal condition occurs during the firmware upgrading process. The method comprises: a controller determines whether to update the firmware (101); if so, obtaining the firmware update data, and transmits the data to update the firmware programming backup storage area (102); the controller of the firmware of the backup storage area in the update data copy to the original firmware data storage location the (104).
【技术实现步骤摘要】
【国外来华专利技术】一种固件更新方法及控制器
本专利技术涉及计算机
,尤其涉及一种固件更新方法及控制器。
技术介绍
在软件系统开发完毕后,在应用过程中,由于使用要求等情况的变化,需要对系统增加一部分的功能。对于系统中的核心处理器而言,即需要更新其固件。为了便于固件的更新,现有技术通过特定的数据接口,直接对处理芯片内整合的存储器进行烧写,例如对于stm32的固件更新,可以直接通过JTAG接口对其FLASH进行烧写。在现有的固件更新过程中,首先是通过外部按键等利用硬件逻辑的方式来告知系统是否需要更新程序(固件),若需要对程序进行更新,则通过对应的数据接口,将数据直接烧写到FLASH中对应的存储位置中,完成更新。在实现本专利技术的过程中,专利技术人发现现有技术存在以下问题:由于更新数据直接烧写到FLASH的原有程序的存储位置上。在出现烧写错误的情况下,将导致原有程序代码破损,使得处理器(如:可编程逻辑控制器)无法正常工作。
技术实现思路
本专利技术实施例提供了一种固件更新方法及控制器,旨在解决固件更新过程中,烧写错误导致原有程序代码破损,处理器无法工作的问题。本专利技术实施例的第一方面提供一种固件更新方法,包括:控制器判断是否需要更新固件;若是,则获取固件更新数据,并将所述固件更新数据烧写至备份存储区域中;所述控制器将所述备份存储区域中的所述固件更新数据拷贝到原固件数据的存储位置。相应地,所述控制器判断是否需要更新固件包括:所述控制器在程序内设置用于判断是否需要更新固件的更新标志寄存器;所述控制器根据所述更新标志寄存器是否置位,以判断是否需要更新固件。相应地,所述控制器将所述备份 ...
【技术保护点】
一种固件更新方法,其特征在于,包括:控制器判断是否需要更新固件;若是,则获取固件更新数据,并将所述固件更新数据烧写至备份存储区域中;所述控制器将所述备份存储区域中的所述固件更新数据拷贝到原固件数据的存储位置。
【技术特征摘要】
【国外来华专利技术】1.一种固件更新方法,其特征在于,包括:控制器判断是否需要更新固件;若是,则获取固件更新数据,并将所述固件更新数据烧写至备份存储区域中;所述控制器将所述备份存储区域中的所述固件更新数据拷贝到原固件数据的存储位置。2.根据权利要求1所述的方法,其特征在于,所述控制器判断是否需要更新固件包括:所述控制器在程序内设置用于判断是否需要更新固件的更新标志寄存器;所述控制器根据所述更新标志寄存器是否置位,以判断是否需要更新固件。3.根据权利要求2所述的方法,其特征在于,所述控制器将所述备份存储区域中的所述固件更新数据拷贝到原固件数据的存储位置之后,所述方法还包括:所述控制器获取复位指令,所述控制器判断更新标志寄存器是否置位;若是,执行复位操作;若否,不执行复位操作。4.根据权利要求1所述的方法,其特征在于,所述获取固件更新数据,并将所述固件更新数据烧写至备份存储区域中包括:所述控制器逐帧地接收所述固件更新数据,并将接收到的当前帧的固件更新数据形成数据包保存在随机存取存储器RAM中;所述控制器将所述数据包烧写至所述备份存储区域中;所述控制器校验所述数据包是否烧写正确;若否,则返回执行所述控制器将所述数据包烧写至所述备份存储区域中。5.根据权利要求4所述的方法,其特征在于,所述控制器校验所述数据包是否烧写正确之后,所述方法还包括:所述控制器判断所述数据包的重复烧写次数是否达到预定的阈值;若是,反馈固件更新数据烧写失败信息。6.根据权利要求4所述的方法,其特征在于,如果所述控制器校验所述数据包烧写正确,所述方法还包括:所述控制器判断烧写至所述备份存储区域的数据包是否为最后一帧数据;若是,反馈固件更新完成信息。7.根据权利要求6所述的方法,其特征在于,所述控制器判断烧写至所述备份存储区域的数据包是否为最后一帧数据包括:所述控制器获取当前数据包的序数;所述控制器根据所述当前数据包的序数是否与固件更新数据包含的总帧数相等,以判断所述备份存储区域的数据包是否为最后一帧数据。8.根据权利要求1-7任一项所述的方法,其特征在于,所述控制器采用modbus总线通信方式完成固件更新。9.一种控制器,其特征在于,包括:更新判断单元,用于判断是否需要更新固件;烧写单元,用于当判断为需要更新固件时,获取固件更新数据,并将所述固件更新数据烧写至备份存储区域中;复制单元,用于将所述备份存储区域中的所述固件更新数据...
【专利技术属性】
技术研发人员:唐恒悦,
申请(专利权)人:深圳配天智能技术研究院有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。