CN116185461B - 固件升级方法及系统 - Google Patents
固件升级方法及系统 Download PDFInfo
- Publication number
- CN116185461B CN116185461B CN202310472816.3A CN202310472816A CN116185461B CN 116185461 B CN116185461 B CN 116185461B CN 202310472816 A CN202310472816 A CN 202310472816A CN 116185461 B CN116185461 B CN 116185461B
- Authority
- CN
- China
- Prior art keywords
- firmware
- flag bit
- chip
- area
- zone
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种固件升级方法及系统。所述方法通过运行引导加载程序,并基于引导加载程序,获取启动引导标志位;在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作;在启动引导标志位为非预设枚举标志位时,检测片内固件运行区、片外固件更新区和片外固件备份区的固件状态,根据检测的结果,修改启动引导标志位,并复位重新运行引导加载程序,实现高效可靠的固件升级操作,拓展了固件升级方式,简化固件升级过程,降低了硬件成本,提高了固件升级效率及可靠性。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种固件升级方法及系统。
背景技术
随着互联网和物联网产业的蓬勃发展,各类消费电子智能终端设备层出不穷,令人耳目一新,而在消费电子产品市场中,MCU(微控制单元)牢牢占据了极大一部分市场份额,但随着日益变化的市场导向,与之带来的是复杂多变的用户需求,这使得产品开发人员需要不定时的对产品功能进行迭代,缺陷修复,这就要求对产品上的MCU的固件进行升级。
目前MCU的主流固件升级方式主要是:一、采用专用的烧录器进行固件烧录,存在较多的使用限制,不利于大规模拓展,如要求使用者熟悉烧录器的操作及使用流程,存在一定程度上的学习门槛,其次需要专用的烧录器硬件,增加了产品开发成本;二、通过MCU的串口等外设在线升级固件,要求MCU不能离线,且在升级过程中出现异常断电等情况,会导致固件升级失败,影响用户体验,其次在固件在线升级过程中,用户无法使用产品功能,进一步影响了用户体验。
在实现过程中,发明人发现传统技术中至少存在如下问题:现有的MCU固件升级方式中,处理过程繁琐,成本高,固件升级效率低及可靠性低。
发明内容
基于此,有必要针对上述现有的MCU固件升级方式中存在的问题,提供一种能够简化固件升级过程,拓展了固件升级方式,成本低,提高了固件升级效率及可靠性的固件升级方法及系统。
第一方面,本申请提供一种固件升级方法,包括以下步骤:
运行引导加载程序,并基于引导加载程序,获取启动引导标志位;
在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作;
在启动引导标志位为非预设枚举标志位时,检测片内固件运行区、片外固件更新区和片外固件备份区的固件状态,根据检测的结果,修改启动引导标志位,并复位重新运行引导加载程序。
可选的,预设枚举标志位包括更新固件标志位和跳转APP运行标志位;
在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作的步骤包括:
在启动引导标志位为更新固件标志位,且检测到片内固件运行区存储有固件时,将片内固件运行区存储的固件传输至片外固件备份区;
将片外固件更新区存储的固件传输至片内固件运行区,修改启动引导标志位为跳转APP运行标志位,并复位重新运行引导加载程序。
可选的,在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作的步骤还包括:
在启动引导标志位为更新固件标志位、检测到片内固件运行区无固件且检测到片外固件备份区存储有固件时,将片外固件更新区存储的固件传输至片内固件运行区,修改启动引导标志位为跳转APP运行标志位,并复位重新运行引导加载程序。
可选的,在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作的步骤还包括:
在启动引导标志位为更新固件标志位、检测到片内固件运行区无固件且检测到片外固件备份区无固件时,将片外固件更新区存储的固件传输至片外固件备份区;
将片外固件更新区存储的固件传输至片内固件运行区,修改启动引导标志位为跳转APP运行标志位,并复位重新运行引导加载程序。
可选的,预设枚举标志位包括恢复固件标志位和跳转APP运行标志位;
在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作的步骤还包括:
在启动引导标志位为恢复固件标志位,且检测到片外固件备份区存储有固件时,将片外固件备份区存储的固件传输至片内固件运行区;
修改启动引导标志位为跳转APP运行标志位,并复位重新运行引导加载程序。
可选的,预设枚举标志位包括备份固件标志位和跳转APP运行标志位;
在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作的步骤还包括:
在启动引导标志位为备份固件标志位,且检测到片内固件运行区存储有固件时,将片内固件运行区存储的固件传输至片外固件备份区;
修改启动引导标志位为跳转APP运行标志位,并复位重新运行引导加载程序。
可选的,修改启动引导标志位为跳转APP运行标志位的步骤之前包括:
对固件进行校验;
修改启动引导标志位为跳转APP运行标志位的步骤包括:
在固件校验成功时,修改启动引导标志位为跳转APP运行标志位;
对固件进行校验的步骤之后还包括:
在固件校验失败时,生成错误提示信息。
可选的,预设枚举标志位包括下载固件标志位和更新固件标志位;
在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作的步骤还包括:
在启动引导标志位为下载固件标志位时,获取外部输入固件,并将外部输入固件传输至片外固件更新区;
修改启动引导标志位为更新固件标志位,并复位重新运行引导加载程序。
可选的,修改启动引导标志位为更新固件标志位的步骤之前包括:
对外部输入固件进行校验;
修改启动引导标志位为更新固件标志位的步骤包括:
在外部输入固件校验成功时,修改启动引导标志位为更新固件标志位;
对固件进行校验的步骤之后还包括:
在固件校验失败时,生成错误提示信息。
可选的,在启动引导标志位为非预设枚举标志位时,检测片内固件运行区、片外固件更新区和片外固件备份区的固件状态,根据检测的结果,修改启动引导标志位的步骤包括:
在启动引导标志位为非预设枚举标志位、检测到片内固件运行区存储有固件且检测到片外固件备份区存储有固件时,修改启动引导标志位为跳转APP运行标志位;
在启动引导标志位为非预设枚举标志位、检测到片内固件运行区存储有固件且检测到片外固件备份区无固件时,修改启动引导标志位为备份固件标志位;
在启动引导标志位为非预设枚举标志位、检测到片内固件运行区无固件且检测到片外固件备份区存储有固件时,修改启动引导标志位为恢复固件标志位;
在启动引导标志位为非预设枚举标志位、检测到片内固件运行区无固件、检测到片外固件备份区无固件且检测到片外固件更新区存储有固件时,修改启动引导标志位为更新固件标志位;
在启动引导标志位为非预设枚举标志位、检测到片内固件运行区无固件、检测到片外固件备份区无固件且检测到片外固件更新区无固件时,修改启动引导标志位为下载固件标志位。
第二方面,本申请提供一种固件升级系统,包括:
处理器,处理器包括处理单元和片内存储单元,处理单元连接片内存储单元;片内存储单元包括第一片内存储区、第二片内存储区和片内固件运行区;第一片内存储区用于存储引导加载程序,第二片内存储区用于存储启动引导标志位;
片外存储器,片外存储器连接处理单元,片外存储器包括片外固件更新区和片外固件备份区;
处理单元用于执行如上述任意一项的固件升级方法的步骤。
可选的,固件升级系统还包括外部输入设备,外部输入设备连接处理单元,外部输入设备被配置为向处理单元传输外部输入固件。
上述技术方案中的一个技术方案具有如下优点和有益效果:
上述的固件升级方法中,通过运行引导加载程序,并基于引导加载程序,获取启动引导标志位;在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作;在启动引导标志位为非预设枚举标志位时,检测片内固件运行区、片外固件更新区和片外固件备份区的固件状态,根据检测的结果,修改启动引导标志位,并复位重新运行引导加载程序,实现高效可靠的固件升级操作。本申请利用低成本的片外存储资源形成片外固件更新区和片外固件备份区,由片内固件运行区、片外固件更新区和片外固件备份区组成固件的三分区设计,分隔开固件下载与固件更新、备份的流程;通过判断和调整启动引导标志位,利用重入引导加载程序将固件下载与固件升级两个动作分隔开,进而在恶劣极端环境下,固件升级失败、出错也不会导致整个系统宕机,同时拓展了固件升级方式,简化固件升级过程,降低了硬件成本,提高了固件升级效率及可靠性。
附图说明
图1为一个实施例中固件升级方法的应用环境示意图;
图2为一个实施例中固件升级方法的第一流程示意图;
图3为一个实施例中更新固件步骤的第一流程示意图;
图4为一个实施例中更新固件步骤的第二流程示意图;
图5为一个实施例中恢复固件步骤的第一流程示意图;
图6为一个实施例中恢复固件步骤的第二流程示意图;
图7为一个实施例中备份固件步骤的第一流程示意图;
图8为一个实施例中备份固件步骤的第二流程示意图;
图9为一个实施例中下载固件步骤的第一流程示意图;
图10为一个实施例中下载固件步骤的第二流程示意图;
图11为一个实施例中非预设枚举标志位时的处理步骤的流程示意图;
图12为一个实施例中固件升级方法的第二流程示意图;
图13为一个实施例中固件升级系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
另外,术语“多个”的含义应为两个以及两个以上。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
本申请提供的固件升级方法,可以应用于如图1所示的应用环境中。其中,处理设备包括处理器102和片外存储器104,处理器102包括处理单元1022和片内存储单元1024,处理单元1022分别连接片内存储单元1024和片外存储器104。片内存储单元1024包括第一片内存储区、第二片内存储区和片内固件运行区,片外存储器104包括片外固件更新区和片外固件备份区。第一片内存储区用于存储引导加载程序,第二片内存储区用于存储启动引导标志位;处理单元1022可用来执行运行引导加载程序,并基于引导加载程序,获取启动引导标志位;在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作;在启动引导标志位为非预设枚举标志位时,检测片内固件运行区、片外固件更新区和片外固件备份区的固件状态,根据检测的结果,修改启动引导标志位,并复位重新运行引导加载程序。处理器可以是MCU(微控制单元)。
为了解决现有MCU固件升级方式中存在的问题,在一个实施例中,如图2所示,提供了一种固件升级方法,以该方法应用于图1中的处理单元为例进行说明,包括以下步骤:
步骤S210,运行引导加载程序,并基于引导加载程序,获取启动引导标志位。
其中,引导加载程序(BootLoader)指的是应用程序运行前执行的一段固化在微控制单元中的代码程序。引导加载程序存储在设置在片内存储单元的第一片内存储区,处理器上电时首先执行第一片内存储区的引导加载程序。将用户应用程序(App)设置在处理器片内存储单元的片内固件运行区,并在第一存储区与片内固件运行区之间设置有第二存储区,第二存储区为处理器(MCU)片内存储器的最小擦写单元,第二存储区用来存放启动引导标志位。
步骤S220,在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作。
启动引导标志位包括预设枚举标志位和非预设枚举标志位,预设枚举标志位可包括跳转APP运行标志位、更新固件标志位、恢复固件标志位、备份固件标志位和下载固件标志位。非预设枚举标志位为视为无效标志位。跳转APP运行标志位为系统正常运行固件的状态;更新固件标志位则表示将片外固件更新区中的固件拷贝覆写至片内固件运行区;恢复固件标志位则表示将片外固件备份区中的固件拷贝覆写至片内固件运行区;备份固件标志位则表示将片内固件运行区拷贝覆写至片外固件备份区中;下载固件标志位则表示使用用户自定义的通讯协议接收外部输入固件,并将外部输入固件覆写至片外固件更新区中。
步骤S230,在启动引导标志位为非预设枚举标志位时,检测片内固件运行区、片外固件更新区和片外固件备份区的固件状态,根据检测的结果,修改启动引导标志位,并复位重新运行引导加载程序。
对固件的管理可分为三个分区,包括片内固件运行区(即App ROM)、片外固件更新区和片外固件备份区。其中片内固件运行区设置在处理器的片内存储单元上。片外固件更新区和片外固件备份区设置在片外存储器上,其中,片外存储器可以是SPI-Nor-Flash。基于对固件管理分区,进而当片内固件运行区的固件出现异常,需要更新、恢复、下载或备份固件时,处理单元可通过SPI通信方式读取和写入片外固件更新区和/或片外固件备份区来实现固件的覆写和获取,同时处理单元还能利用自身的外部输入设备获取用户输入的固件,例如,处理单元可通过UART、SPI、SDIO或USB通信方式与外部输入设备通信,并做出响应,以此实现固件下载的通信方式。
具体地,处理器上电时,首先运行引导加载程序,在引导加载程序中读取启动引导标志位,并判断启动引导标志位是否为用户预设的枚举值,若启动引导标志位为预设枚举标志位,则依据相应的启动引导标志位,执行对应启动引导标志位的固件升级动作;若启动引导标志位为非预设枚举标志位,则进入标志位初始设定状态,分别检测片内固件运行区、片外固件备份区、片外固件更新区中是否有固件,根据检测结果改写启动引导标志位,最后复位处理器以重入引导加载程序。
上述实施例中,利用低成本的片外存储资源形成片外固件更新区和片外固件备份区,由片内固件运行区、片外固件更新区和片外固件备份区组成固件的三分区设计,分隔开固件下载与固件更新、备份的流程;通过判断和调整启动引导标志位,利用重入引导加载程序将固件下载与固件升级两个动作分隔开,进而在恶劣极端环境下,固件升级失败、出错也不会导致整个系统宕机,同时拓展了固件升级方式,简化固件升级过程,降低了硬件成本,提高了固件升级效率及可靠性。
在一个实施例中,如图3所示,预设枚举标志位包括更新固件标志位和跳转APP运行标志位。在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作的步骤包括:
步骤S310,在启动引导标志位为更新固件标志位,且检测到片内固件运行区存储有固件时,将片内固件运行区存储的固件传输至片外固件备份区。
其中,处理单元可对获取到的启动引导标志位的数值进行判定,若启动引导标志位的数值与更新固件标志位的数值相同,则判定启动引导标志位为更新固件标志位,进而判断片内固件运行区是否有固件,若检测到片内固件运行区存储有固件,则将片内固件运行区存储的固件拷贝传输至片外固件备份区,实现将片内固件运行区存储的固件备份在片外固件备份区。
步骤S320,将片外固件更新区存储的固件传输至片内固件运行区,修改启动引导标志位为跳转APP运行标志位,并复位重新运行引导加载程序。
处理单元在完成固件更新前的固件备份操作之后,将片外固件更新区内的固件读出并擦写至片内固件运行区,进而完成固件更新,进一步的,改写启动引导标志位为跳转APP运行标志位,最后复位处理器以重入引导加载程序,实现固件更新操作。
在一个示例中,在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作的步骤还包括:
在启动引导标志位为更新固件标志位、检测到片内固件运行区无固件且检测到片外固件备份区存储有固件时,将片外固件更新区存储的固件传输至片内固件运行区,修改启动引导标志位为跳转APP运行标志位,并复位重新运行引导加载程序。
示例性的,如图4所示,处理单元可对获取到的启动引导标志位的数值进行判定,若启动引导标志位的数值与更新固件标志位的数值相同,则判定启动引导标志位为更新固件标志位,进而判断片内固件运行区是否有固件,若检测到片内固件运行区无固件,则进一步检测片外固件备份区是否存储有固件,若检测到片外固件备份区存储有固件,则判定固件已备份,进而跳过固件更新前的固件备份环节,固件更新前的固件备份环节结束,进一步的,将片外固件更新区内的固件读出并擦写至片内固件运行区,进而完成固件更新,然后,改写启动引导标志位为跳转APP运行标志位,最后复位处理器以重入引导加载程序,实现固件更新操作。
在一个示例中,在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作的步骤还包括:
在启动引导标志位为更新固件标志位、检测到片内固件运行区无固件且检测到片外固件备份区无固件时,将片外固件更新区存储的固件传输至片外固件备份区;将片外固件更新区存储的固件传输至片内固件运行区,修改启动引导标志位为跳转APP运行标志位,并复位重新运行引导加载程序。
示例性的,如图4所示,处理单元可对获取到的启动引导标志位的数值进行判定,若启动引导标志位的数值与更新固件标志位的数值相同,则判定启动引导标志位为更新固件标志位,进而判断片内固件运行区是否有固件,若检测到片内固件运行区无固件,则进一步检测片外固件备份区是否存储有固件,若检测到片外固件备份区存储有固件,则判定固件已备份,进而跳过固件更新前的固件备份环节,固件更新前的固件备份环节结束,进一步的,将片外固件更新区内的固件读出并擦写至片内固件运行区,进而完成固件更新,然后,改写启动引导标志位为跳转APP运行标志位,最后复位处理器以重入引导加载程序,实现固件更新操作。
在一个示例中,在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作的步骤还包括:
在启动引导标志位为更新固件标志位、检测到片内固件运行区无固件且检测到片外固件备份区无固件时,将片外固件更新区存储的固件传输至片外固件备份区;将片外固件更新区存储的固件传输至片内固件运行区,修改启动引导标志位为跳转APP运行标志位,并复位重新运行引导加载程序。
示例性的,如图4所示,处理单元可对获取到的启动引导标志位的数值进行判定,若启动引导标志位的数值与更新固件标志位的数值相同,则判定启动引导标志位为更新固件标志位,进而判断片内固件运行区是否有固件,若检测到片内固件运行区无固件,则进一步检测片外固件备份区是否存储有固件,若检测到片外固件备份区无固件,则将片外固件更新区存储的固件拷贝传输至片外固件备份区,实现将片外固件更新区存储的固件备份在片外固件备份区,至此,固件更新前的固件备份环节结束,进一步的,将片外固件更新区内的固件读出并擦写至片内固件运行区,进而完成固件更新,然后,改写启动引导标志位为跳转APP运行标志位,最后复位处理器以重入引导加载程序,实现固件更新操作。
示例性的,修改启动引导标志位为跳转APP运行标志位的步骤之前包括:对固件进行校验。修改启动引导标志位为跳转APP运行标志位的步骤包括:在固件校验成功时,修改启动引导标志位为跳转APP运行标志位。对固件进行校验的步骤之后还包括:在固件校验失败时,生成错误提示信息。
具体地,如图4所示,在将片内固件运行区的固件拷贝传输至片外固件备份区、检测到片外固件备份区存储有固件或将片外固件更新区的固件拷贝传输至片外固件备份区之后,对片外固件备份区的固件进行校验,并根据校验的结果,若固件校验成功,从片外固件更新区读取固件,并将固件擦写至片内固件运行区;若校验失败,则生成错误提示信息,点亮指示备份固件出错的LED指示灯,最后复位处理器以重入引导加载程序。进一步的,在将片外固件更新区读取固件并将固件擦写至片内固件运行区之后,对片内固件运行区的固件进行校验,并根据校验的结果,若固件校验成功,则修改启动引导标志位为跳转APP运行标志位,若校验失败,则生成错误提示信息,点亮指示更新固件出错的LED指示灯,最后复位处理器以重入引导加载程序。
上述实施例中,实现了高效可靠的更新固件操作,另外通过对固件校验,在发生错误时抛出提示,以指示用户进行下一步操作,进一步提高固件升级的可靠性。此外,处理器不断复位重入引导加载程序也可以为App运行提供一个干净可靠的环境,拓展了固件升级方式,简化固件升级过程,降低了硬件成本,提高了固件升级效率及可靠性。
在一个实施例中,如图5所示,预设枚举标志位包括恢复固件标志位和跳转APP运行标志位。在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作的步骤还包括:
步骤S510,在启动引导标志位为恢复固件标志位,且检测到片外固件备份区存储有固件时,将片外固件备份区存储的固件传输至片内固件运行区。
其中,处理单元可对获取到的启动引导标志位的数值进行判定,若启动引导标志位的数值与恢复固件标志位的数值相同,则判定启动引导标志位为恢复固件标志位,进而判断片外固件备份区是否存储有固件,若检测到片外固件备份区存储有固件,则将片外固件备份区存储的固件拷贝传输至片内固件运行区,实现对固件的恢复。
步骤S520,修改启动引导标志位为跳转APP运行标志位,并复位重新运行引导加载程序。
处理单元在完成恢复固件操作之后,改写启动引导标志位为跳转APP运行标志位,最后复位处理器以重入引导加载程序,实现高效可靠的恢复固件操作。
示例性的,修改启动引导标志位为跳转APP运行标志位的步骤之前包括:对固件进行校验。修改启动引导标志位为跳转APP运行标志位的步骤包括:在固件校验成功时,修改启动引导标志位为跳转APP运行标志位。对固件进行校验的步骤之后还包括:在固件校验失败时,生成错误提示信息。
具体地,如图6所示,处理单元可对获取到的启动引导标志位的数值进行判定,若启动引导标志位的数值与恢复固件标志位的数值相同,则判定启动引导标志位为恢复固件标志位,进而判断片外固件备份区是否存储有固件,若检测到片外固件备份区存储有固件,则将片外固件备份区存储的固件拷贝覆写至片内固件运行区,若检测到片外固件备份区无固件,则无法恢复固件,生成错误提示信息,点亮指示恢复固件出错的LED指示灯,最后复位处理器以重入引导加载程序。
在片外固件备份区存储的固件拷贝传输至片内固件运行区之后,对固件进行校验,并根据校验的结果,若固件校验成功,则修改启动引导标志位为跳转APP运行标志位,若校验失败,则生成错误提示信息,点亮指示恢复固件出错的LED指示灯,最后复位处理器以重入引导加载程序。
上述实施例中,实现了高效可靠的恢复固件操作,另外通过对固件校验,在发生错误时抛出提示,以指示用户进行下一步操作,进一步提高固件升级的可靠性。此外,处理器不断复位重入引导加载程序也可以为App运行提供一个干净可靠的环境,拓展了固件升级方式,简化固件升级过程,降低了硬件成本,提高了固件升级效率及可靠性。
在一个实施例,如图7所示,预设枚举标志位包括备份固件标志位和跳转APP运行标志位。在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作的步骤还包括:
步骤S710,在启动引导标志位为备份固件标志位,且检测到片内固件运行区存储有固件时,将片内固件运行区存储的固件传输至片外固件备份区。
其中,处理单元可对获取到的启动引导标志位的数值进行判定,若启动引导标志位的数值与备份固件标志位的数值相同,则判定启动引导标志位为备份固件标志位,进而判断片内固件运行区是否存储有固件,若检测到片内固件运行区存储有固件,则将片内固件运行区存储的固件拷贝传输至片外固件备份区,实现对固件的备份。
步骤S720,修改启动引导标志位为跳转APP运行标志位,并复位重新运行引导加载程序。
处理单元在完成备份固件操作之后,改写启动引导标志位为跳转APP运行标志位,最后复位处理器以重入引导加载程序,实现高效可靠的恢复固件操作。
示例性的,修改启动引导标志位为跳转APP运行标志位的步骤之前包括:对固件进行校验。修改启动引导标志位为跳转APP运行标志位的步骤包括:在固件校验成功时,修改启动引导标志位为跳转APP运行标志位。对固件进行校验的步骤之后还包括:在固件校验失败时,生成错误提示信息。
具体地,如图8所示,处理单元可对获取到的启动引导标志位的数值进行判定,若启动引导标志位的数值与备份固件标志位的数值相同,则判定启动引导标志位为备份固件标志位,进而判断片内固件运行区是否存储有固件,若检测到片内固件运行区存储有固件,则将片内固件运行区存储的固件拷贝覆写至片外固件备份区,若检测到片内固件运行区无固件,则无法恢复固件,生成错误提示信息,点亮指示备份固件出错的LED指示灯,最后复位处理器以重入引导加载程序。
在片内固件运行区存储的固件拷贝传输至片外固件备份区之后,对片外固件备份区的固件进行校验,并根据校验的结果,若固件校验成功,则修改启动引导标志位为跳转APP运行标志位,若校验失败,则生成错误提示信息,点亮指示备份固件出错的LED指示灯,最后复位处理器以重入引导加载程序。
上述实施例中,实现了高效可靠的备份固件操作,另外通过对固件校验,在发生错误时抛出提示,以指示用户进行下一步操作,进一步提高固件升级的可靠性。此外,处理器不断复位重入引导加载程序也可以为App运行提供一个干净可靠的环境,拓展了固件升级方式,简化固件升级过程,降低了硬件成本,提高了固件升级效率及可靠性。
在一个实施例中,如图9所示,预设枚举标志位包括下载固件标志位和更新固件标志位。在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作的步骤还包括:
步骤S910,在启动引导标志位为下载固件标志位时,获取外部输入固件,并将外部输入固件传输至片外固件更新区。
其中,处理单元可对获取到的启动引导标志位的数值进行判定,若启动引导标志位的数值与下载固件标志位的数值相同,则判定启动引导标志位为下载固件标志位,进而获取外部输入设备传输的外部输入固件,并将外部输入固件传输至片外固件更新区,实现下载固件操作。
步骤S920,修改启动引导标志位为更新固件标志位,并复位重新运行引导加载程序。
处理单元在完成下载固件操作之后,改写启动引导标志位为更新固件标志位,最后复位处理器以重入引导加载程序,实现更新固件操作。
示例性的,修改启动引导标志位为更新固件标志位的步骤之前包括:对外部输入固件进行校验。修改启动引导标志位为更新固件标志位的步骤包括:在外部输入固件校验成功时,修改启动引导标志位为更新固件标志位。对固件进行校验的步骤之后还包括:在固件校验失败时,生成错误提示信息。
具体地,如图10所示,处理单元可对获取到的启动引导标志位的数值进行判定,若启动引导标志位的数值与下载固件标志位的数值相同,则判定启动引导标志位为下载固件标志位,进而按照预设的通信协议接收外部输入设备传输的外部输入固件,并将外部输入固件传输至片外固件更新区。然后,对片外固件更新区的固件进行校验,并根据校验的结果,若固件校验成功,则修改启动引导标志位为更新固件标志位,若校验失败,则生成错误提示信息,点亮指示下载固件出错的LED指示灯,最后复位处理器以重入引导加载程序。
上述实施例中,实现了高效可靠的下载固件操作,另外通过对固件校验,在发生错误时抛出提示,以指示用户进行下一步操作,进一步提高固件升级的可靠性。此外,处理器不断复位重入引导加载程序也可以为App运行提供一个干净可靠的环境,拓展了固件升级方式,简化固件升级过程,降低了硬件成本,提高了固件升级效率及可靠性。
在一个实施例中,如图11所示,在启动引导标志位为非预设枚举标志位时,检测片内固件运行区、片外固件更新区和片外固件备份区的固件状态,根据检测的结果,修改启动引导标志位的步骤包括:
步骤S110,在启动引导标志位为非预设枚举标志位、检测到片内固件运行区存储有固件且检测到片外固件备份区存储有固件时,修改启动引导标志位为跳转APP运行标志位。
步骤S120,在启动引导标志位为非预设枚举标志位、检测到片内固件运行区存储有固件且检测到片外固件备份区无固件时,修改启动引导标志位为备份固件标志位。
步骤S130,在启动引导标志位为非预设枚举标志位、检测到片内固件运行区无固件且检测到片外固件备份区存储有固件时,修改启动引导标志位为恢复固件标志位。
步骤S140,在启动引导标志位为非预设枚举标志位、检测到片内固件运行区无固件、检测到片外固件备份区无固件且检测到片外固件更新区存储有固件时,修改启动引导标志位为更新固件标志位。
步骤S150,在启动引导标志位为非预设枚举标志位、检测到片内固件运行区无固件、检测到片外固件备份区无固件且检测到片外固件更新区无固件时,修改启动引导标志位为下载固件标志位。
具体的,如图12所示,处理器上电时,首先运行引导加载程序,在引导加载程序中读取启动引导标志位,并判断启动引导标志位是否为用户预设的枚举值,若启动引导标志位为预设枚举标志位,则依据相应的启动引导标志位,执行对应启动引导标志位的固件升级动作;若启动引导标志位为非预设枚举标志位,则进入标志位初始设定状态,检测片内固件运行区是否存储有固件,若检测到片内固件运行区存储有固件,则进一步检测片外固件备份区是否存储有固件,若检测到片外固件备份区存储有固件,则修改启动引导标志位为跳转APP运行标志位,若检测到片外固件备份区无固件,则修改启动引导标志位为备份固件标志位。另外,若检测到片内固件运行区无固件时,进一步检测片外固件备份区是否存储有固件,若检测到片外固件备份区存储有固件时,则修改启动引导标志位为恢复固件标志位,若检测到片外固件备份区无固件时,则进一步检测片外固件更新区是否存储有固件,若检测到片外固件更新区存储有固件,则修改启动引导标志位为更新固件标志位,若检测到片外固件更新区无固件时,则修改启动引导标志位为下载固件标志位。
上述实施例中,利用低成本的片外存储资源形成片外固件更新区和片外固件备份区,由片内固件运行区、片外固件更新区和片外固件备份区组成固件的三分区设计,分隔开固件下载与固件更新、备份的流程;通过判断和调整启动引导标志位,利用重入引导加载程序将固件下载与固件升级两个动作分隔开,进而在恶劣极端环境下,固件升级失败、出错也不会导致整个系统宕机,同时拓展了固件升级方式,简化固件升级过程,降低了硬件成本,提高了固件升级效率及可靠性。
应该理解的是,虽然图2至图12的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图12中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图13所示,本申请提供一种固件升级系统,包括处理器10和片外存储器20。处理器10包括处理单元110和片内存储单元120,处理单元110连接片内存储单元120;片内存储单元120包括第一片内存储区1222、第二片内存储区1224和片内固件运行区1226;第一片内存储区1222用于存储引导加载程序,第二片内存储区1224用于存储启动引导标志位;片外存储器20连接处理单元110,片外存储器20包括片外固件更新区210和片外固件备份区220;处理单元110用于执行如上述任意一项的固件升级方法的步骤。
其中,固件升级系统还包括外部输入设备30,外部输入设备30连接处理单元110,外部输入设备30被配置为向处理单元110传输外部输入固件。
关于处理单元110、片内存储单元120、第一片内存储区1222、第二片内存储区1224、片内固件运行区1226、片外固件更新区210和片外固件备份区220等的具体内容可参考上文内容,此处不再赘述。
示例性的,处理器可采用SWM341系列的MCU,片外存储器可采用片外SPI-NOR-Flash。通过片外存储区设置片外固件更新区和片外固件备份区,硬件成本较低,利用重入引导加载程序将固件下载与固件升级两个动作分隔开,进而在恶劣极端环境下,固件升级失败、出错也不会导致整个系统宕机,而且将固件下载环节分别设置在引导加载程序与App中,设置在App好处是可以通过更新App来实现更新固件的下载方式,如此一来可以很方便的拓展固件下载方式,十分灵活,还支持在APP运行中同时下载待更新的固件,下载过程对用户无感,用户将待更新的固件下载至片外存储器,且在下载完成后可以自主选择何时进行固件升级,用户没有额外的学习成本,简单易用,而将固件下载环节设置在引导加载程序则作为App未执行固件下载环节的补充,进一步增强了固件下载升级全流程的可靠性。
上述实施例中,基于处理单元连接片内存储单元;片内存储单元包括第一片内存储区、第二片内存储区和片内固件运行区;片外存储器连接处理单元,片外存储器包括片外固件更新区和片外固件备份区,处理单元通过运行引导加载程序,并基于引导加载程序,获取启动引导标志位;在启动引导标志位为预设枚举标志位时,执行对应启动引导标志位的固件升级动作;在启动引导标志位为非预设枚举标志位时,检测片内固件运行区、片外固件更新区和片外固件备份区的固件状态,根据检测的结果,修改启动引导标志位,并复位重新运行引导加载程序,实现高效可靠的固件升级操作,拓展了固件升级方式,简化固件升级过程,降低了硬件成本,提高了固件升级效率及可靠性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。
非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种固件升级方法,其特征在于,包括以下步骤:
运行引导加载程序,并基于所述引导加载程序,获取启动引导标志位;
在所述启动引导标志位为预设枚举标志位时,执行对应所述启动引导标志位的固件升级动作;
在所述启动引导标志位为非预设枚举标志位时,检测片内固件运行区、片外固件更新区和片外固件备份区的固件状态,根据检测的结果,修改所述启动引导标志位,并复位重新运行所述引导加载程序;
所述固件升级方法应用于处理设备,所述处理设备包括处理器和片外存储器,处理器包括处理单元和片内存储单元,处理单元分别连接片内存储单元和片外存储器;所述片内存储单元包括第一片内存储区、第二片内存储区和片内固件运行区,所述片外存储器包括片外固件更新区和片外固件备份区;所述第一片内存储区用于存储所述引导加载程序,所述第二片内存储区用于存储所述启动引导标志位;
所述预设枚举标志位包括跳转APP运行标志位、更新固件标志位、恢复固件标志位、备份固件标志位和下载固件标志位;所述跳转APP运行标志位为系统正常运行固件的状态;所述更新固件标志位表示将片外固件更新区中的固件拷贝覆写至片内固件运行区;所述恢复固件标志位表示将片外固件备份区中的固件拷贝覆写至片内固件运行区;所述备份固件标志位表示将片内固件运行区拷贝覆写至片外固件备份区中;所述下载固件标志位表示使用用户自定义的通讯协议接收外部输入固件,并将外部输入固件覆写至片外固件更新区;
所述在所述启动引导标志位为非预设枚举标志位时,检测片内固件运行区、片外固件更新区和片外固件备份区的固件状态,根据检测的结果,修改所述启动引导标志位的步骤包括:
在所述启动引导标志位为非预设枚举标志位、检测到所述片内固件运行区存储有固件且检测到所述片外固件备份区存储有固件时,修改所述启动引导标志位为跳转APP运行标志位;
在所述启动引导标志位为非预设枚举标志位、检测到所述片内固件运行区存储有固件且检测到所述片外固件备份区无固件时,修改所述启动引导标志位为备份固件标志位;
在所述启动引导标志位为非预设枚举标志位、检测到所述片内固件运行区无固件且检测到所述片外固件备份区存储有固件时,修改所述启动引导标志位为恢复固件标志位;
在所述启动引导标志位为非预设枚举标志位、检测到所述片内固件运行区无固件、检测到所述片外固件备份区无固件且检测到所述片外固件更新区存储有固件时,修改所述启动引导标志位为更新固件标志位;
在所述启动引导标志位为非预设枚举标志位、检测到所述片内固件运行区无固件、检测到所述片外固件备份区无固件且检测到所述片外固件更新区无固件时,修改所述启动引导标志位为下载固件标志位。
2.根据权利要求1所述的固件升级方法,其特征在于,所述预设枚举标志位包括更新固件标志位和跳转APP运行标志位;
所述在所述启动引导标志位为预设枚举标志位时,执行对应所述启动引导标志位的固件升级动作的步骤包括:
在所述启动引导标志位为所述更新固件标志位,且检测到所述片内固件运行区存储有固件时,将所述片内固件运行区存储的固件传输至所述片外固件备份区;
将所述片外固件更新区存储的固件传输至所述片内固件运行区,修改所述启动引导标志位为跳转APP运行标志位,并复位重新运行所述引导加载程序。
3.根据权利要求2所述的固件升级方法,其特征在于,所述在所述启动引导标志位为预设枚举标志位时,执行对应所述启动引导标志位的固件升级动作的步骤还包括:
在所述启动引导标志位为所述更新固件标志位、检测到所述片内固件运行区无固件且检测到所述片外固件备份区存储有固件时,将所述片外固件更新区存储的固件传输至所述片内固件运行区,修改所述启动引导标志位为跳转APP运行标志位,并复位重新运行所述引导加载程序。
4.根据权利要求3所述的固件升级方法,其特征在于,所述在所述启动引导标志位为预设枚举标志位时,执行对应所述启动引导标志位的固件升级动作的步骤还包括:
在所述启动引导标志位为所述更新固件标志位、检测到所述片内固件运行区无固件且检测到所述片外固件备份区无固件时,将所述片外固件更新区存储的固件传输至所述片外固件备份区;
将所述片外固件更新区存储的固件传输至所述片内固件运行区,修改所述启动引导标志位为跳转APP运行标志位,并复位重新运行所述引导加载程序。
5.根据权利要求1所述的固件升级方法,其特征在于,所述预设枚举标志位包括恢复固件标志位和跳转APP运行标志位;
所述在所述启动引导标志位为预设枚举标志位时,执行对应所述启动引导标志位的固件升级动作的步骤还包括:
在所述启动引导标志位为所述恢复固件标志位,且检测到所述片外固件备份区存储有固件时,将所述片外固件备份区存储的固件传输至所述片内固件运行区;
修改所述启动引导标志位为跳转APP运行标志位,并复位重新运行所述引导加载程序。
6.根据权利要求1所述的固件升级方法,其特征在于,所述预设枚举标志位包括备份固件标志位和跳转APP运行标志位;
所述在所述启动引导标志位为预设枚举标志位时,执行对应所述启动引导标志位的固件升级动作的步骤还包括:
在所述启动引导标志位为所述备份固件标志位,且检测到所述片内固件运行区存储有固件时,将所述片内固件运行区存储的固件传输至所述片外固件备份区;
修改所述启动引导标志位为跳转APP运行标志位,并复位重新运行所述引导加载程序。
7.根据权利要求2至6任意一项所述的固件升级方法,其特征在于,所述修改所述启动引导标志位为跳转APP运行标志位的步骤之前包括:
对所述固件进行校验;
所述修改所述启动引导标志位为跳转APP运行标志位的步骤包括:
在所述固件校验成功时,修改所述启动引导标志位为跳转APP运行标志位;
所述对所述固件进行校验的步骤之后还包括:
在所述固件校验失败时,生成错误提示信息。
8.根据权利要求7所述的固件升级方法,其特征在于,所述预设枚举标志位包括下载固件标志位和更新固件标志位;
所述在所述启动引导标志位为预设枚举标志位时,执行对应所述启动引导标志位的固件升级动作的步骤还包括:
在所述启动引导标志位为所述下载固件标志位时,获取外部输入固件,并将所述外部输入固件传输至所述片外固件更新区;
修改所述启动引导标志位为更新固件标志位,并复位重新运行所述引导加载程序。
9.根据权利要求8所述的固件升级方法,其特征在于,所述修改所述启动引导标志位为更新固件标志位的步骤之前包括:
对所述外部输入固件进行校验;
所述修改所述启动引导标志位为更新固件标志位的步骤包括:
在所述外部输入固件校验成功时,修改所述启动引导标志位为更新固件标志位;
所述对所述固件进行校验的步骤之后还包括:
在所述固件校验失败时,生成错误提示信息。
10.一种固件升级系统,其特征在于,包括:
处理器,所述处理器包括处理单元和片内存储单元,所述处理单元连接所述片内存储单元;所述片内存储单元包括第一片内存储区、第二片内存储区和片内固件运行区;所述第一片内存储区用于存储引导加载程序,所述第二片内存储区用于存储启动引导标志位;
片外存储器,所述片外存储器连接所述处理单元,所述片外存储器包括片外固件更新区和片外固件备份区;
所述处理单元用于执行如权利要求1至9任意一项所述的固件升级方法的步骤。
11.根据权利要求10所述的固件升级系统,其特征在于,还包括外部输入设备,所述外部输入设备连接所述处理单元,所述外部输入设备被配置为向所述处理单元传输外部输入固件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310472816.3A CN116185461B (zh) | 2023-04-28 | 2023-04-28 | 固件升级方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310472816.3A CN116185461B (zh) | 2023-04-28 | 2023-04-28 | 固件升级方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116185461A CN116185461A (zh) | 2023-05-30 |
CN116185461B true CN116185461B (zh) | 2023-07-25 |
Family
ID=86452686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310472816.3A Active CN116185461B (zh) | 2023-04-28 | 2023-04-28 | 固件升级方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116185461B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101427755B1 (ko) * | 2013-04-26 | 2014-08-07 | 주식회사 코아로직 | Usb를 이용한 펌웨어 업그레이드 장치 및 방법 |
CN109358887A (zh) * | 2018-12-17 | 2019-02-19 | 武汉精立电子技术有限公司 | 一种单片机程序的在线升级方法、装置及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722378B (zh) * | 2011-03-30 | 2015-09-30 | 比亚迪股份有限公司 | 一种非智能手机及升级其系统程序的方法 |
CN106610840A (zh) * | 2015-10-22 | 2017-05-03 | 深圳市中兴微电子技术有限公司 | 一种无线固件升级方法及系统 |
CN112040476B (zh) * | 2020-08-21 | 2023-08-15 | 北京三一智农数据技术有限公司 | 物联网终端的升级方法及装置 |
WO2022094855A1 (zh) * | 2020-11-05 | 2022-05-12 | 深圳市大疆创新科技有限公司 | 固件升级方法及电子设备 |
CN114115945A (zh) * | 2021-11-23 | 2022-03-01 | 厦门星创易联科技有限公司 | 一种嵌入式系统防宕机的远程升级方法 |
-
2023
- 2023-04-28 CN CN202310472816.3A patent/CN116185461B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101427755B1 (ko) * | 2013-04-26 | 2014-08-07 | 주식회사 코아로직 | Usb를 이용한 펌웨어 업그레이드 장치 및 방법 |
CN109358887A (zh) * | 2018-12-17 | 2019-02-19 | 武汉精立电子技术有限公司 | 一种单片机程序的在线升级方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116185461A (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110231952B (zh) | 一种ecu程序备份及循环升级控制方法及装置 | |
CN109933348B (zh) | 一种电子控制单元中Bootloader的更新方法和装置 | |
CN109189445B (zh) | 一种物联网设备程序升级的方法 | |
US20100169709A1 (en) | System Of Updating Firmware And Method Thereof, And Method Of Creating Firmware | |
CN104572229B (zh) | 嵌入式系统的固件升级方法以及固件升级装置 | |
CN109358887B (zh) | 一种单片机程序的在线升级方法、装置及系统 | |
EP2453352A1 (en) | Software updating process for an embedded device | |
CN101650662A (zh) | 一种嵌入式系统的存储器件、固件启动及升级方法 | |
CN111552592A (zh) | 一种双备份启动方法及系统 | |
CN109634781B (zh) | 一种基于嵌入式程序双区备份映像系统及启动方法 | |
CN112015447B (zh) | 电子设备的系统更新方法及装置、电子设备及存储介质 | |
CN113157303A (zh) | 升级方法、嵌入式系统、终端及计算机存储介质 | |
CN115061713A (zh) | 升级电子设备的方法及装置 | |
WO2015184732A1 (zh) | 引导程序的存储方法、故障恢复方法及设备、计算机存储介质 | |
CN113220319A (zh) | 一种数据更新方法、装置及车辆 | |
CN116185461B (zh) | 固件升级方法及系统 | |
JP2022142263A (ja) | 情報処理装置及び情報処理プログラム | |
CN116909607A (zh) | 程序升级方法、装置、计算机设备、存储介质和程序产品 | |
JP2005284902A (ja) | 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム | |
CN116627519A (zh) | 一种嵌入式设备的多系统启动方法 | |
CN111045709B (zh) | 固件升级方法和固件升级装置 | |
CN114265603A (zh) | 基于不对称分区的系统升级方法、装置和电子设备 | |
JP2019061520A (ja) | 電子制御装置及び制御プログラム検証方法 | |
JP2002175193A (ja) | プログラム書き換え装置及びプログラム書き換え方法 | |
CN107844303B (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 |