CN116541042B - 一种固件升级方法、控制芯片和智能家电 - Google Patents
一种固件升级方法、控制芯片和智能家电 Download PDFInfo
- Publication number
- CN116541042B CN116541042B CN202310603732.9A CN202310603732A CN116541042B CN 116541042 B CN116541042 B CN 116541042B CN 202310603732 A CN202310603732 A CN 202310603732A CN 116541042 B CN116541042 B CN 116541042B
- Authority
- CN
- China
- Prior art keywords
- firmware
- program
- storage area
- area
- upgrade
- 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
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000003860 storage Methods 0.000 claims description 74
- 230000006870 function Effects 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 6
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000004519 manufacturing process Methods 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 13
- 238000001514 detection method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000009191 jumping Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000002035 prolonged effect Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供的一种固件升级方法、控制芯片和智能家电,具体涉及智能家电技术领域,应用于智能家电设备的控制芯片中,当检测到固件升级指令时,首先将第一存储区域中的当前固件程序搬移至临时存储区域,然后擦除第一存储区域中的当前固件程序,下载升级版本的固件并写入第一存储区域进行固件升级。该方案不仅能够保障在固件升级过程中系统继续运行,提升用户使用体验;而且减少对地址空间的占用,有利于降低芯片制作成本并延长芯片的使用寿命。
Description
技术领域
本发明涉及智能家电技术领域,尤其涉及的是一种固件升级方法、控制芯片和智能家电。
背景技术
目前,物联网设备通常采用OTA(Over-the-Air Technology,空中下载技术)的方式进行设备升级,常见的OTA升级方案有全量升级、差分升级和AB面升级等,升级方式大多都采用用户确认的方式来进行升级。
全量升级方案和差分升级方案都是先将新版本固件的全量包或者差分包下载并放入设备的备份区域,再供用户或系统判断确认是否进行升级,这两种方法在升级失败的情况下都会导致系统设备无法启动的问题。
AB面升级方案通过在备份区域的基础上增加恢复出厂区域,避免升级失败的情况下系统无法启动,同时,若当前版本存在问题,可以恢复出厂固件或使用之前版本的固件,避免系统升级失败。但是该方案扩大了升级所占用的区域,也就是需要大容量存储空间,导致芯片成本比较高,而且存储区域代码擦写频繁,导致芯片的使用寿命比较短。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种固件升级方法、控制芯片和智能家电,旨在解决现有技术中存在的需要大容量存储空间且存储区域代码擦写频繁的问题。
为了实现上述目的,本发明第一方面提供一种固件升级方法,应用于智能家电设备的控制芯片中,包括以下步骤:
获取固件升级指令,基于所述固件升级指令,将第一存储区域中的当前固件程序搬移至临时存储区域,所述临时存储区域中的程序在断电时自动丢失;
获取升级版本的固件,所述第一存储区域根据获取到的升级版本的固件进行固件升级。
可选的,在所述获取固件升级指令之前,还包括:
通过第二存储区域程序对所述第一存储区域进行安全认证,若认证成功,则运行所述第一存储区域中的固件程序;若认证失败,则运行所述第二存储区域中的基础程序,所述基础程序指的是控制所述智能家电设备实现若干项基本功能的程序。
可选的,所述获取升级版本的固件,包括:
根据所述固件升级指令从云端下载所述升级版本的固件,并对所述升级版本的固件进行安全认证之后写入所述控制芯片的所述第一存储区域。
可选的,所述根据所述固件升级指令从云端下载所述升级版本的固件,包括:
利用图形码登陆云端系统进行身份验证,身份验证通过后,将所述升级版本的固件下载至移动终端。
可选的,所述获取升级版本的固件并写入所述第一存储区域,包括:
根据固件升级指令将所述升级版本的固件直接下载至所述控制芯片,并写入所述控制芯片的所述第一存储区域。
可选的,若固件升级失败,所述第一存储区域根据获取到的升级版本的固件进行固件升级,包括:
在断电之前,继续运行所述临时存储区域中的所述当前固件程序,并实时检测所述固件升级指令;
或者,在重新上电之后,运行所述第二存储区域中的基础程序,并实时检测所述固件升级指令。
可选的,所述第一存储区域是Flash地址空间,所述临时存储区域是SRAM地址空间。
本发明第二方面提供一种控制芯片,用于实现上述任意一项所述的固件升级方法,所述控制芯片包括第一存储区域和临时存储区域,
所述第一存储区域用于存储并运行固件程序,在接收到固件升级指令后将当前固件程序搬移到所述临时存储区域中,并接收升级版本的固件程序;
所述临时存储区域用于接收并继续运行所述当前固件程序,且所述临时存储区域中的程序在断电时自动丢失。
可选的,所述控制芯片还包括第二存储区域,所述第二存储区域包括安全启动区域和基础程序区域;
所述安全启动区域用于对所述第一存储区域进行安全认证;
所述基础程序区域用于在固件升级失败并重新上电之后,运行基础程序;所述基础程序指的是控制所述智能家电设备实现若干项基本功能的程序。
本发明第三方面提供一种智能家电,包括任意一项上述的控制芯片。
与现有技术相比,本方案的有益效果如下:
本申请在检测到固件升级指令的情况下,首先将第一存储区域中的当前固件程序搬移至控制芯片的内部的具有掉电易失特性的临时存储区域,然后下载升级版本的固件并写入第一存储区域进行固件升级。可见,本申请通过优化系统空间结构,当接收到固件升级指令时,将固件程序搬移至临时存储区域,不仅能够保障在固件升级过程中系统继续运行,提升用户使用体验;而且由于临时存储区域中的程序在断电时自动丢失,临时存储区域每次上电都能被重新使用,减少了对控制芯片存储空间的占用,有利于降低芯片制作成本并延长芯片的使用寿命。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为现有技术中的MCU芯片的存储空间结构划分示意图;
图2为现有技术中的基于MCU芯片的固件升级流程图;
图3为本发明的固件升级应用场景示意图;
图4为本发明的MCU芯片的存储空间结构划分示意图;
图5为本发明的固件升级方法的总体流程图;
图6为本发明的Boot区域程序运行流程图;
图7为本发明的App区域程序运行流程图;
图8为本发明的固件升级应用场景示例示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当…时”或“一旦”或“响应于确定”或“响应于检测到”。类似的,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述的条件或事件]”或“响应于检测到[所描述条件或事件]”。
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
现有技术中的AB面升级方案是将MCU芯片的存储空间分为Boot区、DownLoader区、App区和Factory区,如图1所示,其中,Boot区用于系统的升级及参数配置;DownLoader区用于在系统使用期间接收升级程序,并在下次启动时使用;App区用于存放当前使用的程序;Factory区用于存放出厂固件程序,并在升级系统无法使用时恢复出厂系统。基于上述MCU芯片的存储空间结构划分的固件升级流程如图2所示,主要步骤为:MCU芯片上电并初始化之后,检测DownLoader区中的固件版本是否与App区中的程序版本号一致,若一致,则程序跳转到App区;若不一致,则将DownLoader区中的固件搬移到App区并重启芯片。
该方案通过设置Factory区域和DownLoader区域,避免了升级失败的情况下系统设备无法启动的问题,同时若当前版本存在问题,也可以恢复出厂固件或使用之前版本的程序,解决了系统升级失败问题,同时在系统更新的时候,也不会打断用户使用当前设备。但是该方案存在需要大容量存储空间、存储区域代码被不断擦写、恶意代码注入等问题。
基于此,本发明提出一种固件升级方法,该方法在检测到固件升级指令的情况下,首先将第一存储区域中的当前固件程序搬移至控制芯片的内部的具有掉电易失特性的临时存储区域,然后下载升级版本的固件并写入第一存储区域进行固件升级。可见,本申请通过优化系统空间结构,当接收到固件升级指令时,将固件程序搬移至临时存储区域,不仅能够保障在固件升级过程中系统继续运行,提升用户使用体验;而且由于临时存储区域中的程序在断电时自动丢失,临时存储区域每次上电都能被重新使用,减少了对控制芯片存储空间的占用,有利于降低芯片制作成本并延长芯片的使用寿命。
示例性方法
本实施例提供一种固件升级方法,部署于物联网平台上,应用场景如图3所示,为利用移动终端和通信装置为物联网平台上的智能家电进行固件升级,具体地,移动终端包括但不限于智能手机、笔记本、掌上电脑、平板电脑、车载智能终端、可穿戴设备等,用于通过云端接收升级版本的固件,并将接收到的升级版本的固件发送给通信装置。
智能家电包括但不限于例如音视频设备、照明设备、智能窗帘、安防设备等,用于通过通信装置控制自身运行,以实现相应的功能。
通信装置用于通过有线通信或无线通信的方式与移动终端和智能家电进行通信连接,实现信息传输。该通信装置可以设置在智能家电内部或者安装在智能家电表面,也可以独立于智能家电外部。一个通信装置可以实现与一个或多个移动终端通信,以及与一个或多个智能家电通信,这里多个移动终端指的是相同或者不同类型(包括但不限于种类和型号)的移动终端,多个智能家电指的是相同或者不同类型的智能家电。
基于上述应用场景,本实施例的固件升级方法中涉及的通信装置为微控制器芯片(Micro Control Unit,MCU),并且将MCU的存储空间进行分区,图4所示为本实施例中的MCU芯片的存储空间结构划分示意图,具体分为Flash地址空间和RAM地址空间,其中,RAM地址空间为SRAM地址空间,用于接收从App区域发送的固件程序,且SRAM地址空间具有在断电时自动丢失内部程序的特性。Flash地址空间包括Boot区域、App区域和剩余区域,其中,Boot区域包括安全启动区域和基础程序区域,安全启动区域用于在启动或者升级时进行安全认证,以确保系统安全运行;默认程序区域用于在固件升级时运行基础程序;App区域是Flash地址空间,用于存储并执行系统运行的程序;剩余区域为MCU中剩余的Flash地址空间,可以用作固件升级的备用区域,也可以用于存储和运行固件升级以外的程序和数据。该优化后的系统空间结构,不仅没有增加固件升级操作的复杂度,而且减少了固件升级过程中对Flash地址空间的无效占用,提高了对系统空间的有效利用率。
基于上述存储空间分区模式的MCU,本实施例的固件升级方法的总体流程图,如图5所示,具体包括以下步骤:
步骤S100:上电启动并进行初始化,系统运行Boot区域程序,并通过Boot区域程序对App区域程序进行认证。
具体地,系统上电启动后,运行Boot区域程序,通过Boot区域对App区域进行安全认证,检测App区域是否存在程序以及存在程序版本或者系统是否正确,若认证成功(即程序完整且合法),则开始运行App区域中的当前固件程序,并实时检测升级指令,判断是否需要进行固件升级;若认证失败,则继续运行Boot区域中的基础程序,并实时检测固件升级指令。通过Boot区域对App区域进行安全认证,使得在Boot区域程序的正确引导下进入App区域程序,以确保在App区域程序完好的情况下进行跳转,提高MCU芯片的稳定性和可靠性。其中,基础程序指的是用于控制智能家电实现基本功能的程序,例如,音视频设备的开启、关闭、播放和暂停等功能,照明设备的打开和关闭等功能,以保障智能家电正常运行。
步骤S200:当App区域检测到升级指令后,将App区域中的程序搬移到SRAM中,继续运行当前程序;擦除App区域的程序,下载升级固件并写入App区域中。
具体地,如图5所示,当App区域检测到外部信号中的二维码升级指令后,首先将App区域中正在运行的程序搬移到SRAM中,并将运行方式从Flash模式切换为SRAM模式,继续运行当前程序,以避免升级过程影响设备的正常运行。然后将App区域的程序搬移到SRAM地址空间之后,擦除App区域的程序,Boot区域检测到App区域程序丢失后启动升级操作,首先通过二维码扫描登陆云端系统进行身份验证,身份验证通过后指定升级固件版本,并将升级固件版本下载至移动终端经过安全认证之后,再由移动终端将升级固件发送至MCU的App区域。采用扫描二维码的方式下载指定升级固件版本,能够有效避免被其他应用恶意篡改,从而提升系统的安全性。其中,外部信号指的是MCU外部的信号。
本实施例中将App区域中的程序搬移到SRAM地址空间中,指的是将MCU的Flash地址空间中的App区域中的程序搬移到MCU内部的SRAM地址空间中,作为其他优选实施方式,也可以根据实际应用需求,在MCU内部的SRAM地址空间不足的情况下,将MCU的Flash地址空间中的App区域中的程序搬移到MCU外部的SRAM地址空间中。这里搬移到SRAM地址空间只是优选的示例性方案,还可以根据芯片或者智能家电的成本、运行速度等需求,选择搬移到DRAM地址空间中。
本实施例中是根据二维码形式的升级指令指定升级版本的固件,并先下载到移动终端,再通过移动终端发送到MCU,作为其他优选实施方式,也可以根据实际应用需要,通过点击链接直接跳转到升级版本的固件下载页面,通过默认路径或者选择保存路径直接下载到MCU,或者其他自主选择的存储区域。而且,升级指令的形式不限于二维码、条形码等图形码,还可以是其他形式的能够指引用户下载升级版本的固件的升级指令,以提升用户进行固件升级过程中的操作体验,促使用户积极升级固件程序,从而提高用户对智能终端的使用体验。
本实施例中将升级固件版本下载至移动终端之后,在移动终端进行安全认证,安全认证通过之后再由移动终端将升级固件发送至MCU的App区域,作为其他优选实施方式,也可以根据实际应用需要,将升级固件版本下载至移动终端,并转发至MCU的Boot区域之后,在Boot区域进行安全认证,安全认证通过之后再从Boot区域写入App区域,确保所下载的升级版本的固件是安全的,有利于提高MCU控制芯片的稳定性和可靠性。
步骤S300:进行固件升级。
具体地,若在升级过程中设备持续供电,则基础程序会在SRAM中持续运行,直到升级成功后系统重启。系统重启后,通过Boot区域对App区域中写入的升级版本的固件升级版本的固件程序进行认证,认证成功后运行升级版本的固件程序,即New App,有利于提高升级成功的概率,并避免恶意软件或病毒的入侵,以保障智能终端的正常运行;若在升级过程中出现设备断电或者SRAM空间不足等情况,导致固件升级失败,则在断电之前,继续运行临时存储区域中的当前固件程序,并实时检测固件升级指令;发生断电并在重新上电之后,运行Boot区域中的基础程序,并实时检测固件升级指令,等待下次升级指令的到来。这里,SRAM空间不足指的是MCU内部没有足够的SRAM地址空间存储当前固件程序。本实施例针对固件升级失败的情况,采取了相应的措施来提高MCU控制芯片的鲁棒性。
对于步骤S100,其对应的Boot区域程序运行流程,如图6所示,具体如下:
步骤S110:MCU上电,上电成功后先运行Boot区域中的启动程序;
步骤S120:初始化MCU的硬件部分和软件部分,包括对系统时钟、外设、中断向量表和Boot区域参数配置等进行初始化,甚至可能会启动安全算法,对系统进行安全认证;
步骤S130:通过校验程序判断是否成功启动MCU,若启动成功,则运行App区域程序;若启动不成功,则跳转至步骤S140;
步骤S140:运行Boot区域程序,通过外部信号检测判断是否升级固件,若未检测到升级指令,则继续运行Boot区域的基础程序,保证设备能够正常使用几个简单功能,并实时检测升级指令;若检测到升级指令,则跳转至步骤S150;
步骤S150:对App区域程序进行安全认证,具体为:首先判断App区域是否存在固件程序,然后判断固件程序是否完整,最后判断固件程序是否合法。若App区域中的当前固件程序不存在或不完整或不合法,则跳转至步骤S140;若App区域中的当前固件程序完整且合法,则运行App区域中的当前固件程序;
步骤S160:MCU接收到升级指令后,通过云端将升级版本的固件下载至智能手机,再由智能手机传输给MCU,并将升级版本的固件写入到MCU的App区域中;
步骤S170:固件升级成功后,软件复位,重启芯片,程序跳转至App区域并运行App区域中的升级版本的固件程序。
可见,Boot区域程序不仅能够在启动或者升级时进行安全认证,以确保系统安全运行;还能够在固件升级过程中运行基础程序,确保系统继续运行,提升用户体验。
对于步骤S200,其对应的App区域程序运行流程,如图7所示,具体如下:
步骤S210:MCU上电后经过Boot区域对APP区域程序认证成功后,跳转至App区域并运行App区域程序;
步骤S220:对App区域程序的参数配置等进行初始化,启动升级检测流程;
步骤S230:运行App区域中的当前固件程序,通过外部信号实时检测固件升级指令,若检测到固件升级指令,则跳转至步骤S240;若未检测到固件升级指令,则继续运行App区域中的当前固件程序并检测固件升级指令;
步骤S240:App区域接收到固件升级指令后,将App区域中的当前固件程序搬移至SRAM中,若系统持续供电或者SRAM空间充足,则将运行方式从Flash模式切换为SRAM模式,继续运行当前固件程序,然后跳转至步骤S250;若MCU断电,则系统会在下一次启动时先运行Boot区域的启动程序,并等待升级操作;或者,若SRAM空间不够,则系统跳转至Boot区域运行基础程序,并实时检测升级指令。
步骤S250:擦除当前App区域程序,通过云端将升级版本的固件下载至智能手机,再由智能手机传输给MCU,并将升级版本的固件写入到MCU的App区域中;
步骤S260:固件升级成功后,软件复位,重启芯片,将运行方式切换至Flash模式,运行App区域中升级版本的固件程序。
可见,在固件升级过程中,通过对App区域程序进行搬移、擦除和写入操作,实现了对Flash地址空间的充分利用,有效减少了对Flash地址空间的占用,显著提升了对系统空间的使用效率。而且利用SRAM地址空间的易失性和读写速度快的特点,不仅能够实现对App区域程序的快速搬移及运行方式的转换,保障系统运行不间断,而且通过重启操作就能清空SRAM地址空间,可以实现对SRAM空间的重复利用,实现原理简单、高效。
基于本实施例的固件升级方法,针对图8所示的应用场景示例,假设图中的设备指的是数字电视机,且数字电视机内部设置有通信装置,固件升级的具体步骤如下:
当数字电视机在使用的过程中,提示有固件新版本可以升级时,首先,用户使用手机扫描数字电视机上的二维码,通过输入登录密码或自动识别手机编码等方式进入后台;然后,用户自主选取需要升级的固件版本并点击确认后,用户可以选择将数字电视机中的通信装置中的App区域程序移至SRAM区域继续运行,也可以选择运行初始程序继续观看当前节目;最后,手机通过云端获取待升级的固件,并将该待升级的固件通过WIFI或者蓝牙等无线通信的方式传送给数字电视机,数字电视机对其进行安全认证后,将该待升级的固件下载至App区域中,完成升级,再重启设备,运行最新安装的固件系统。
本实施例的固件升级方法能够通过将App区域的程序搬移到SRAM地址空间,保障系统继续运行,提升用户使用满意度;还能够通过用户选择固件升级的时间和版本,以减少对Flash的无效擦写,从而有效提高Flash的使用寿命。
示例性控制芯片
如图4所示,对应于上述固件升级方法,本发明实施例还提供一种控制芯片,该控制芯片包括Flash地址空间和RAM地址空间,其中,RAM地址空间为SRAM地址空间,用于接收从App区域发送的固件程序,且SRAM地址空间具有在断电时自动丢失内部程序的特性。Flash地址空间包括Boot区域、App区域和剩余区域,其中,Boot区域包括安全启动区域和基础程序区域,安全启动区域用于在启动或者升级时进行安全认证,以确保系统安全运行;默认程序区域用于在固件升级时运行基础程序;App区域是Flash地址空间,用于存储并执行系统运行的程序;剩余区域为MCU中剩余的Flash地址空间,可以用作固件升级的备用区域,也可以用于存储和运行固件升级以外的程序和数据。
具体的,本实施例中,上述控制芯片的各个存储区域的具体功能的实现过程可以参照上述固件升级方法对应的步骤,在此不再赘述。
本发明实施例还提供一种智能家电,该智能家电上设置有上述控制芯片。
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.固件升级方法,应用于智能家电设备的控制芯片中,所述控制芯片的存储空间,具体分为Flash地址空间和RAM地址空间,其中,Flash地址空间包括第一存储区域和第二存储区域,且所述第一存储区域是指App区域,所述第二存储区域是指Boot区域,所述RAM地址空间包括临时存储区域,其特征在于,包括以下步骤:
系统上电启动后,运行第二存储区域的程序,通过所述第二存储区域对第一存储区域进行安全认证,若认证成功,则运行所述第一存储区域中的固件程序,并实时检测固件升级指令,当检测到所述固件升级指令时,基于所述固件升级指令,将第一存储区域中的当前固件程序搬移至临时存储区域,并将运行方式从Flash模式切换为SRAM模式,继续运行当前程序,所述临时存储区域中的程序在断电时自动丢失;
获取升级版本的固件,所述第一存储区域根据获取到的升级版本的固件进行固件升级。
2.根据权利要求1所述的固件升级方法,其特征在于,在所述实时检测固件升级指令之前,还包括:
通过第二存储区域程序对所述第一存储区域进行安全认证,若认证失败,则运行所述第二存储区域中的基础程序,所述基础程序指的是控制所述智能家电设备实现若干项基本功能的程序。
3.根据权利要求1所述的固件升级方法,其特征在于,所述获取升级版本的固件,包括:
根据所述固件升级指令从云端下载所述升级版本的固件,并对所述升级版本的固件进行安全认证之后写入所述控制芯片的所述第一存储区域。
4.根据权利要求3所述的固件升级方法,其特征在于,所述根据所述固件升级指令从云端下载所述升级版本的固件,包括:
利用图形码登陆云端系统进行身份验证,身份验证通过后,将所述升级版本的固件下载至移动终端。
5.根据权利要求1所述的固件升级方法,其特征在于,获取升级版本的固件之后,还包括:
根据固件升级指令将所述升级版本的固件直接下载至所述控制芯片,并写入所述控制芯片的所述第一存储区域。
6.根据权利要求1或3-5任一项所述的固件升级方法,其特征在于,若固件升级失败,所述第一存储区域根据获取到的升级版本的固件进行固件升级,包括:
在断电之前,继续运行所述临时存储区域中的所述当前固件程序,并实时检测所述固件升级指令;
或者,在重新上电之后,运行所述第二存储区域中的基础程序,并实时检测所述固件升级指令。
7.根据权利要求1所述的固件升级方法,其特征在于,所述第一存储区域是Flash地址空间,所述临时存储区域是SRAM地址空间。
8.控制芯片,其特征在于,用于实现上述权利要求1-7任一项所述的固件升级方法,所述控制芯片包括第一存储区域和临时存储区域,
所述第一存储区域用于存储并运行固件程序,在接收到固件升级指令后将当前固件程序搬移到所述临时存储区域中,并接收升级版本的固件程序;
所述临时存储区域用于接收并继续运行所述当前固件程序,且所述临时存储区域中的程序在断电时自动丢失。
9.根据权利要求8所述的控制芯片,其特征在于,所述控制芯片还包括第二存储区域,所述第二存储区域包括安全启动区域和基础程序区域;
所述安全启动区域用于对所述第一存储区域进行安全认证;
所述基础程序区域用于在固件升级失败并重新上电之后,运行基础程序;所述基础程序指的是控制所述智能家电设备实现若干项基本功能的程序。
10.智能家电,其特征在于,包括如权利要求8或9所述控制芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310603732.9A CN116541042B (zh) | 2023-05-25 | 2023-05-25 | 一种固件升级方法、控制芯片和智能家电 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310603732.9A CN116541042B (zh) | 2023-05-25 | 2023-05-25 | 一种固件升级方法、控制芯片和智能家电 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116541042A CN116541042A (zh) | 2023-08-04 |
CN116541042B true CN116541042B (zh) | 2024-01-16 |
Family
ID=87443491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310603732.9A Active CN116541042B (zh) | 2023-05-25 | 2023-05-25 | 一种固件升级方法、控制芯片和智能家电 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116541042B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998059296A2 (en) * | 1997-06-21 | 1998-12-30 | Koninklijke Philips Electronics N.V. | A method of updating program code for an optical disc drive microcontroller and an optical disc drive |
JP2008065618A (ja) * | 2006-09-07 | 2008-03-21 | Fuji Electric Holdings Co Ltd | ファームウェア更新に伴いバックアップデータ更新可能な組込み機器 |
CN101183337A (zh) * | 2007-12-12 | 2008-05-21 | 中兴通讯股份有限公司 | 基于nand flash移动终端存储介质的空间管理方法 |
CN106909352A (zh) * | 2015-12-22 | 2017-06-30 | 北京谊安医疗系统股份有限公司 | 一种嵌入式设备的固件升级方法 |
CN109343873A (zh) * | 2018-08-28 | 2019-02-15 | 九阳股份有限公司 | 一种智能家电远程升级控制方法 |
CN110837385A (zh) * | 2019-11-07 | 2020-02-25 | 北京特种机械研究所 | 一种基于CANopen协议的DSP应用程序在线升级方法 |
CN112199109A (zh) * | 2020-10-16 | 2021-01-08 | 杭州觅睿科技有限公司 | 一种固件升级方法、装置、设备及介质 |
CN112685053A (zh) * | 2019-10-18 | 2021-04-20 | 航天科工惯性技术有限公司 | 单片机程序远程升级控制方法 |
JP2022006935A (ja) * | 2020-06-25 | 2022-01-13 | 住友電気工業株式会社 | 通信システム、通信制御装置、及び制御プログラム更新方法 |
CN114035828A (zh) * | 2021-12-14 | 2022-02-11 | 北京天融信网络安全技术有限公司 | 程序升级方法、装置、电子设备及存储介质 |
CN115220758A (zh) * | 2022-06-24 | 2022-10-21 | 武汉联特科技股份有限公司 | 一种单片机固件在线升级的方法 |
CN115599739A (zh) * | 2022-09-21 | 2023-01-13 | 深圳市航顺芯片技术研发有限公司(Cn) | 一种可调整存储结构的芯片及调整方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8402109B2 (en) * | 2005-02-15 | 2013-03-19 | Gytheion Networks Llc | Wireless router remote firmware upgrade |
-
2023
- 2023-05-25 CN CN202310603732.9A patent/CN116541042B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998059296A2 (en) * | 1997-06-21 | 1998-12-30 | Koninklijke Philips Electronics N.V. | A method of updating program code for an optical disc drive microcontroller and an optical disc drive |
JP2008065618A (ja) * | 2006-09-07 | 2008-03-21 | Fuji Electric Holdings Co Ltd | ファームウェア更新に伴いバックアップデータ更新可能な組込み機器 |
CN101183337A (zh) * | 2007-12-12 | 2008-05-21 | 中兴通讯股份有限公司 | 基于nand flash移动终端存储介质的空间管理方法 |
CN106909352A (zh) * | 2015-12-22 | 2017-06-30 | 北京谊安医疗系统股份有限公司 | 一种嵌入式设备的固件升级方法 |
CN109343873A (zh) * | 2018-08-28 | 2019-02-15 | 九阳股份有限公司 | 一种智能家电远程升级控制方法 |
CN112685053A (zh) * | 2019-10-18 | 2021-04-20 | 航天科工惯性技术有限公司 | 单片机程序远程升级控制方法 |
CN110837385A (zh) * | 2019-11-07 | 2020-02-25 | 北京特种机械研究所 | 一种基于CANopen协议的DSP应用程序在线升级方法 |
JP2022006935A (ja) * | 2020-06-25 | 2022-01-13 | 住友電気工業株式会社 | 通信システム、通信制御装置、及び制御プログラム更新方法 |
CN112199109A (zh) * | 2020-10-16 | 2021-01-08 | 杭州觅睿科技有限公司 | 一种固件升级方法、装置、设备及介质 |
CN114035828A (zh) * | 2021-12-14 | 2022-02-11 | 北京天融信网络安全技术有限公司 | 程序升级方法、装置、电子设备及存储介质 |
CN115220758A (zh) * | 2022-06-24 | 2022-10-21 | 武汉联特科技股份有限公司 | 一种单片机固件在线升级的方法 |
CN115599739A (zh) * | 2022-09-21 | 2023-01-13 | 深圳市航顺芯片技术研发有限公司(Cn) | 一种可调整存储结构的芯片及调整方法 |
Non-Patent Citations (4)
Title |
---|
New flash memory acquisition methods based on firmware update protocols for LG Android smartphones;Juhyun Park 等;《Digital Investigation》;第25卷;第42-54页 * |
一种ARM平台Linunx系统下EC固件更新的方法;王博 等;《工业控制计算机》;第35卷(第12期);第59-60+63页 * |
基于IAP和USB技术的嵌入式系统应用程序升级新方法;张秀国;《计算机光盘软件与应用》;第15卷(第22期);第40-41+48页 * |
航顺高性能32位MCU系列产品特点及其产品应用介绍;刘吉平 等;《中国集成电路》;第30卷(第z1期);第89-95页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116541042A (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106569847B (zh) | 一种用于车载系统基于移动网络实现iap远程升级的方法 | |
CN108388431B (zh) | 应用程序热更新的控制方法、装置、存储介质及移动终端 | |
CN102214113B (zh) | 一种操作系统升级方法、装置及终端 | |
CN109947449B (zh) | 系统升级方法、装置、存储介质及电子设备 | |
CN102646043B (zh) | 移动终端软件升级方法、升级装置及移动终端 | |
JP2007511822A (ja) | 実行期間中にアプリケーションアップグレードを実施するための方法、ソフトウエア、および装置 | |
KR100988157B1 (ko) | 메모리 디바이스 구성을 검출하기 위한 방법 및 장치와, 메모리 디바이스 구성을 검출하기 위한 방법을 수행하기 위한 명령들을 포함하는 컴퓨터 판독 가능 매체 | |
CN106612192A (zh) | 设备的升级方法、装置和系统 | |
CN109803252B (zh) | 副eSIM卡注销方法、eSIM服务器、终端及系统 | |
CN110825563A (zh) | 系统恢复方法、装置以及电子设备 | |
CN105530130A (zh) | 一种空中下载技术的升级方法及装置 | |
JP5413637B2 (ja) | Icチップ、情報処理装置、ソフトウェアモジュール制御方法、情報処理システムおよび方法、並びにプログラム | |
CN102567135A (zh) | 刷新/恢复方法和一种电子设备 | |
CN110493644B (zh) | 电视应用升级方法、电视终端及服务器 | |
CN105786636A (zh) | 一种系统修复方法及装置 | |
CN105263181A (zh) | 一种移动终端基于wifi的文件下载方法及系统 | |
CN116541042B (zh) | 一种固件升级方法、控制芯片和智能家电 | |
CN112416411A (zh) | 升级方法及装置、设备端、服务器、计算机可读介质 | |
JP5500332B2 (ja) | Icチップ、情報処理装置、ソフトウェアモジュール制御方法、情報処理システムおよび方法、並びにプログラム | |
KR101206639B1 (ko) | 이동통신 단말기의 펌웨어 업데이트 서버 및 그 방법 | |
CN113157301B (zh) | 终端版本升级方法、系统、存储介质及终端 | |
KR20010028892A (ko) | 이동통신 단말기의 소프트웨어 업그레이드 방법 | |
CN114780122A (zh) | 嵌入式设备固件更新方法以及嵌入式设备 | |
CN108121562B (zh) | 固件版本切换方法、电子设备和bios芯片 | |
CN112118280A (zh) | 一种wi-fi设备ota升级失败后的恢复方法 |
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 |