CN104484200A - 对固件进行升级的方法及装置 - Google Patents

对固件进行升级的方法及装置 Download PDF

Info

Publication number
CN104484200A
CN104484200A CN201410751727.3A CN201410751727A CN104484200A CN 104484200 A CN104484200 A CN 104484200A CN 201410751727 A CN201410751727 A CN 201410751727A CN 104484200 A CN104484200 A CN 104484200A
Authority
CN
China
Prior art keywords
chip
firmware
subregion
module
new
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
CN201410751727.3A
Other languages
English (en)
Other versions
CN104484200B (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.)
Xiaomi Inc
Xiaomi Technology Wuhan Co Ltd
Original Assignee
Xiaomi Inc
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 Xiaomi Inc filed Critical Xiaomi Inc
Priority to CN201410751727.3A priority Critical patent/CN104484200B/zh
Publication of CN104484200A publication Critical patent/CN104484200A/zh
Priority to JP2016563234A priority patent/JP6259122B2/ja
Priority to MX2015010881A priority patent/MX354477B/es
Priority to BR112015020272A priority patent/BR112015020272A2/pt
Priority to PCT/CN2015/077855 priority patent/WO2016090822A1/zh
Priority to RU2015131124A priority patent/RU2633151C2/ru
Priority to KR1020157016306A priority patent/KR20160084304A/ko
Priority to US14/841,911 priority patent/US9886264B2/en
Priority to EP15193088.0A priority patent/EP3032412B1/en
Application granted granted Critical
Publication of CN104484200B publication Critical patent/CN104484200B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • 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/445Program loading or initiating
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

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)
  • Stored Programmes (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

本公开是关于一种对固件进行升级的方法及装置,用以提高固件升级过程中的安全性。所述方法包括:在确定第一芯片的固件需要升级时,识别第二芯片的闪存中的用于下载所述第二芯片的固件的第一分区;将所述第一芯片的新的固件下载到所述第一分区;将所述第一芯片的新的固件从所述第一分区拷贝到所述第一芯片中的有效区域。本公开技术方案可以避免同时对多个芯片的固件进行升级时出现的冲突,提高了芯片的固件升级时的安全性,在升级过程中避免采用额外的控制逻辑,节约智能设备的资源。

Description

对固件进行升级的方法及装置
技术领域
本公开涉及电子技术领域,尤其涉及一种对固件进行升级的方法及装置。
背景技术
固件升级是指对嵌入式微控制单元(Micro Control Unit,简称为MCU)的内嵌固件进行刷新,以此完善智能设备的功能,增强智能设备的稳定性。在较为复杂的智能设备中,会存在多个MCU或者MCU类的芯片以及非MCU芯片均需要对固件进行升级的情形,非MCU芯片例如无线保真(WirelessFidelity,简称为WIFI)芯片、蓝牙芯片等。在对多个固件升级时,如果对多个固件各自进行固件升级,容易造成资源浪费。
发明内容
为克服相关技术中存在的问题,本公开实施例提供一种对固件进行升级的方法及装置,用以提高固件升级过程中的安全性。
根据本公开实施例的第一方面,提供一种对固件进行升级的方法,包括:
在确定第一芯片的固件需要升级时,识别第二芯片的闪存中的用于下载所述第二芯片的固件的第一分区;
将所述第一芯片的新的固件下载到所述第一分区;
将所述第一芯片的新的固件从所述第一分区拷贝到所述第一芯片中的有效区域。
在一实施例中,所述方法还可包括:
在确定所述第二芯片的固件需要升级时,将所述第二芯片的新的固件下载到所述第一分区;
将所述第一分区激活成用于存储所述第二芯片的原有固件的第二分区;
将所述第二分区设置为用于下载所述第二芯片的固件的第一分区。
在一实施例中,所述识别第二芯片的闪存中的用于下载所述第二芯片的固件的第一分区,可包括:
获取第二芯片的分区信息;
通过所述分区信息识别所述第二芯片的闪存中的用于下载所述第二芯片的固件的第一分区。
在一实施例中,所述方法还可包括:
在所述第一芯片的新的固件下载到所述第一分区后,对所述第一芯片的新的固件进行校验。
根据本公开实施例的第二方面,提供一种对固件进行升级的装置,包括:
识别模块,被配置为在确定第一芯片的固件需要升级时,识别第二芯片的闪存中的用于下载所述第二芯片的固件的第一分区;
第一下载模块,被配置为将所述第一芯片的新的固件下载到所述识别模块识别到的所述第一分区;
拷贝模块,被配置为将所述第一下载模块下载得到的所述第一芯片的新的固件从所述第一分区拷贝到所述第一芯片中的有效区域。
在一实施例中,所述装置还可包括:
第二下载模块,被配置为在确定所述第二芯片的固件需要升级时,将所述第二芯片的新的固件下载到所述第一分区;
激活模块,被配置为在所述第二下载模块将所述第二芯片的新的固件下载到所述第一分区后,将所述第一分区激活成用于存储所述第二芯片的原有固件的第二分区;
设置模块,被配置为在所述激活模块将所述第一分区激活为所述第二分区后,将所述第二分区设置为用于下载所述第二芯片的固件的第一分区。
在一实施例中,所述识别模块可包括:
获取子模块,被配置为获取第二芯片的分区信息;
识别子模块,被配置为通过所述获取子模块获取到的所述分区信息识别所述第二芯片的闪存中的用于下载所述第二芯片的固件的第一分区。
在一实施例中,所述装置还可包括:
校验模块,被配置为在所述第一下载模块将所述第一芯片的新的固件下载到所述第一分区后,对所述第一芯片的新的固件进行校验。
根据本公开实施例的第三方面,提供一种对固件进行升级的装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
在确定第一芯片的固件需要升级时,识别第二芯片的闪存中的用于下载所述第二芯片的固件的第一分区;
将所述第一芯片的新的固件下载到所述第一分区;
将所述第一芯片的新的固件从所述第一分区拷贝到所述第一芯片中的有效区域。
本公开的实施例提供的技术方案可以包括以下有益效果:通过先确定第一芯片的固件需要升级,避免同时对多个芯片的固件进行升级时出现的冲突,提高了芯片的固件升级时的安全性;通过将第一芯片的新的固件下载到第二芯片的闪存中的第一分区,经第一芯片的新的固件从第一分区拷贝到第一芯片中的有效位置,实现了借助第二芯片的闪存对第一芯片的新的固件进行升级,在升级过程中避免了采用额外的控制逻辑,节约了智能设备的资源。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的对固件进行升级的方法的流程图。
图2是根据一示例性实施例一示出的对固件进行升级的方法的流程图。
图3是根据一示例性实施例二示出的对固件进行升级的方法的流程图。
图4A是根据一示例性实施例示出的MCU芯片的分区示意图。
图4B是根据一示例性实施例示出的对MCU芯片进行固件升级的分区示意图之一。
图4C是根据一示例性实施例示出的对WIFI芯片进行固件升级的分区示意图之二。
图4D是根据一示例性实施例示出的对WIFI芯片进行固件升级的分区示意图之三。
图4E是根据一示例性实施例示出的对WIFI芯片进行固件升级的分区示意图之四。
图5是根据一示例性实施例示出的对固件进行升级的装置的框图。
图6是根据一示例性实施例示出的另一对固件进行升级的装置的框图。
图7是根据一示例性实施例示出的一种适用于对固件进行升级的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的对固件进行升级的方法的流程图,该对固件进行升级的方法可以应用在智能设备(例如:智能插座、智能电视、智能空调等)上,如图1所示,该对固件进行升级的方法包括以下步骤S101至S103:
在步骤S101中,在确定第一芯片的固件需要升级时,识别第二芯片的闪存中的用于下载第二芯片的固件的第一分区。
在一实施例中,可以通过远程控制的方式确定第一芯片的固件需要升级,也可以在智能设备上以触发按键的方式确定第一芯片的固件需要升级。在一实施例中,例如,第一芯片为蓝牙芯片、WIFI芯片等非MCU芯片,第二芯片可以为MCU芯片或者类MCU芯片,第一分区可以为MCU芯片中的闪存中的备份区,可替换地,第一芯片可以为MCU芯片,第二芯片为蓝牙芯片、WIFI芯片等非MCU芯片,本公开实施例不对第一芯片与第二芯片的具体名称进行限制,第一芯片与第二芯片中有一个芯片设置有闪存即可。
在步骤S102中,将第一芯片的新的固件下载到第一分区。
在一实施例中,可以通过互联网络将第一芯片的固件下载到第一分区。
在步骤S103中,将第一芯片的新的固件从第一分区拷贝到第一芯片中的有效区域。
在一实施例中,第一芯片的有效区域可以根据固件的类型来确定。
在本实施例中,通过先确定第一芯片的固件需要升级,避免同时对多个芯片的固件进行升级时出现的冲突,提高了芯片在固件升级时的安全性;通过将第一芯片的新的固件下载到第二芯片的闪存中的第一分区,经第一芯片的新的固件从第一分区拷贝到第一芯片中的有效位置,实现了借助第二芯片的闪存对第一芯片的新的固件进行升级,在升级过程中避免了采用额外的控制逻辑,节约了智能设备的资源。
在一实施例中,对固件进行升级的方法还可以包括:
在确定第二芯片的固件需要升级时,将第二芯片的新的固件下载到第一分区;
将第一分区激活成用于存储第二芯片的原有固件的第二分区;
将第二分区设置为用于下载第二芯片的固件的第一分区。
在一实施例中,步骤S101还可以包括:
获取第二芯片的分区信息;
通过分区信息识别第二芯片的闪存中的用于下载第二芯片的固件的第一分区。
在一实施例中,对固件进行升级的方法还可以包括:
在第一芯片的新的固件下载到第一分区后,对第一芯片的新的固件进行校验。
具体如何对智能设备上的固件进行升级的,请参考后续实施例。
至此,本公开实施例提供的上述方法,可以避免同时对多个芯片的固件进行升级时出现的冲突,提高了芯片的固件升级时的安全性,在升级过程中还可以避免采用额外的控制逻辑,节约了智能设备的资源。
下面以具体实施例来说明本公开实施例提供的技术方案。
图2是根据一示例性实施例一示出的对固件进行升级的方法的流程图;本实施例利用本公开实施例提供的上述方法,以第二芯片为MCU芯片,并通过对MCU芯片中的固件进行升级为例进行示例性说明,如图2所示,包括如下步骤:
在步骤S201中,在确定第二芯片的固件需要升级时,获取第二芯片的分区信息。
在一实施例中,与上述步骤S101中的描述相似,可以通过远程控制的方式确定需要升级的固件为MCU芯片,也可以在智能设备上以触发按键的方式确定需要升级的固件为MCU芯片。第二芯片的分区信息表明了闪存中的第一分区与第二分区所在的区域。
在步骤S202中,通过分区信息识别第二芯片的闪存中的用于下载第二芯片的固件的第一分区。
在一实施例中,第一分区例如为闪存的备份区。
在步骤S203中,在第一芯片的新的固件下载到第一分区后,对第一芯片的新的固件进行校验。
在一实施例中,可以通过循环冗余校验码(Cyclic Redundancy Check,简称为CRC)对第一芯片的新的固件进行校验,也可以通过新的固件的格式信息对新的固件进行校验,通过对第一芯片的新的固件进行校验,可以确保新的固件是正常的,从而确保固件升级的可靠性。
在步骤S204中,将第二芯片的新的固件下载到第一分区。
在步骤S205中,将第一分区激活成用于存储第二芯片的原有固件的第二分区。
在一实施例中,第二分区例如为闪存的活跃区,该活跃区用于存储MCU芯片的原有固件。
在步骤S206中,将第二分区设置为用于下载第二芯片的固件的第一分区。
本实施例中,以第二芯片为MCU芯片为例进行示例性说明,通过将MCU芯片需要升级的固件下载到备份区,将备份区设置为活跃区,并将原有固件所在的第二分区设置为备份区,实现了在不占用智能设备的其它资源的基础上对MCU芯片的固件进行了升级,避免了采用额外的控制逻辑,节约了智能设备的资源。
图3是根据一示例性实施例二示出的对固件进行升级的方法的流程图;本实施例利用本公开实施例提供的上述方法,以先对智能设备上的MCU芯片中的固件进行升级,然后再对非MCU芯片(例如,WIFI芯片、蓝牙芯片等等)中的固件进行升级为例进行示例性说明,如图3所示,包括如下步骤:
在步骤S301中,在确定第二芯片的固件需要升级时,获取第二芯片的分区信息。
在一实施例中,与上述步骤S101中的描述相似,可以通过远程控制的方式确定MCU芯片的固件需要升级,也可以在智能设备上以触发按键的方式确定MCU芯片的固件需要升级。第二芯片的分区信息表明了闪存中的第一分区与第二分区所在的区域。
在步骤S302中,通过分区信息识别第二芯片的闪存中的用于下载第二芯片的固件的第一分区。
在步骤S303中,将第二芯片的新的固件下载到第一分区。
在步骤S304中,在第二芯片的新的固件下载到第一分区后,对第二芯片的新的固件进行校验。
在步骤S305中,将第一分区激活成用于存储第二芯片的原有固件的第二分区。
在步骤S306中,将第二分区设置为用于下载第二芯片的固件的第一分区。
上述步骤S301至步骤S306的描述,可以参见上述步骤S201至步骤S206的描述,在此不再详述。
步骤S307,在确定需要升级的固件为第一芯片时,将第一芯片的新的固件下载到第一分区。
在一实施例中,例如,第一芯片为WIFI芯片,MCU的闪存中的第一分区为闪存中原来的第二分区,该第一分区经过步骤S305设置后成备份区。
在步骤S308中,将第一芯片的新的固件从第一分区拷贝到第一芯片中的有效区域。
本实施例中,以对第一芯片中的固件与第二芯片中的固件进行升级为例进行示例性说明,通过将MCU需要升级的固件下载到备份区,将备份区设置为活跃区,并将原有固件所在的第二分区设置为备份区,然后将WIFI芯片需要升级的固件下载到备份区,再将WIFI芯片需要升价的固件拷贝到WIFI芯片中的有效区域,避免同时对MCU芯片的固件与WIFI芯片的固件进行升级时出现的冲突,提高了MCU芯片与WIFI芯片的固件升级时的安全性;通过将WIFI芯片的新的固件下载到MCU芯片的闪存中的第一分区,经WIFI芯片的新的固件从备份区拷贝到WIFI芯片中的有效位置,实现了借助MCU芯片的闪存对WIFI芯片的新的固件进行升级,在升级过程中避免了采用额外的控制逻辑,节约了智能设备的资源。可替换地,WIFI芯片还可以为蓝牙芯片,对蓝牙芯片中的固件进行升级的过程可以参考上述描述,在此不再详述。
下面通过图4A至图4E对本公开实施例的固件升级过程进行示例性说明,本公开实施例以第一芯片为WIFI芯片,第二芯片为MCU芯片为例进行示例性说明,本领域技术人员可以理解的是,对于智能设备中存在闪存的芯片,通过闪存中的不同分区对其它需要升级的固件进行升级的技术方案,均可以理解为本公开实施例的技术方案。
当两个或两个以上的芯片的固件均需要进行升级时,可以根据智能设备接收到的指令的先后顺序,按照上述对固件进行升级的方法对智能设备中的多个固件升级。举例如下:
如图4A所示,当智能设备40中包括MCU芯片41和WIFI芯片42,其中,MCU芯片41中的闪存包括第一分区411与第二分区412,第一分区411用于下载MCU芯片41的固件,第二分区412用于存储MCU芯片的原有固件,更形象的表述,第一分区411可以称为MCU芯片的闪存中的备份区,第二分区412可以称为MCU芯片的闪存中的活跃区。
在一实施例中,MCU芯片41和WIFI芯片42均需要进行固件升级。如图4B所示,智能设备可以通过远程下载的方式将MCU芯片41的新的固件下载到第一分区411中。如图4C所示,可以对MCU芯片41的新的固件进行校验,从而确保MCU芯片41的新的固件无问题后将MCU芯片41的新的固件的所在区域第二分区412激活为活跃区,将MCU芯片41原有的固件所在的区设置为第一分区(也即备份区)。
如图4D所示,智能设备通过远程下载的方式将WIFI芯片42的新的固件下载到MCU芯片的第一分区。如图4E所示,在对WIFI芯片42的新的固件校验完毕后,将WIFI芯片42的新的固件拷贝到WIFI芯片中,并覆盖WIFI42的原有固件,重新启动智能设备,即可完成智能设备的固件升级。
通过上述过程的描述,可以很清楚地理解本公开实施例对固件进行升级的过程,本领域技术人员可以理解的是,上述过程仅为一个示例性说明并不能形成对本公开实施例的限制。
图5是根据一示例性实施例示出的对固件进行升级的装置的框图,如图5所示,对固件进行升级的装置可包括:
识别模块51,被配置为在确定第一芯片的固件需要升级时,识别第二芯片的闪存中的用于下载第二芯片的固件的第一分区;
第一下载模块52,被配置为将第一芯片的新的固件下载到识别模块识51别到的第一分区;
拷贝模块53,被配置为将第一下载模块52下载得到的第一芯片的新的固件从第一分区拷贝到第一芯片中的有效区域。
如图6所示,装置还可包括:
第二下载模块54,被配置为在确定第二芯片的固件需要升级时,将第二芯片的新的固件下载到识别模块51识别到的第一分区;
激活模块55,被配置为在第二下载模块54将第二芯片的新的固件下载到第一分区后,将第一分区激活成用于存储第二芯片的原有固件的第二分区;
设置模块56,被配置为在激活模块55将第一分区激活为第二分区后,将第二分区设置为用于下载第二芯片的固件的第一分区,在需要第一芯片的固件时,识别模块51能够识别到第二芯片的闪存中的用于下载第二芯片的固件的第一分区。
在一实施例中,识别模块51可包括:
获取子模块511,被配置为获取第二芯片的分区信息;
识别子模块512,被配置为通过获取子模块511获取到的分区信息识别第二芯片的闪存中的用于下载第二芯片的固件的第一分区。
在一实施例中,装置还可包括:
校验模块57,被配置为在第一下载模块52将第一芯片的新的固件下载到第一分区后,对第一芯片的新的固件进行校验。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种适用于对固件进行升级的装置的框图。例如,装置700可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图7,装置700可以包括以下一个或多个组件:处理组件702,存储器704,电源组件706,多媒体组件708,音频组件710,输入/输出(I/O)的接口712,传感器组件714,以及通信组件716。
处理组件702通常控制装置700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理部件702可以包括多媒体模块,以方便多媒体组件707和处理组件702之间的交互。
存储器704被配置为存储各种类型的数据以支持在设备700的操作。这些数据的示例包括用于在装置700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件706为装置700的各种组件提供电力。电力组件706可以包括电源管理系统,一个或多个电源,及其他与为装置700生成、管理和分配电力相关联的组件。
多媒体组件708包括在所述装置700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当设备700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当装置700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
I/O接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件714包括一个或多个传感器,用于为装置700提供各个方面的状态评估。例如,传感器组件714可以检测到设备700的打开/关闭状态,组件的相对定位,例如所述组件为装置700的显示器和小键盘,传感器组件714还可以检测装置700或装置700一个组件的位置改变,用户与装置700接触的存在或不存在,装置700方位或加速/减速和装置700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件716被配置为便于装置700和其他设备之间有线或无线方式的通信。装置700可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由装置700的处理器720执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (9)

1.一种对固件进行升级的方法,应用在智能设备上,其特征在于,所述方法包括:
在确定第一芯片的固件需要升级时,识别第二芯片的闪存中的用于下载所述第二芯片的固件的第一分区;
将所述第一芯片的新的固件下载到所述第一分区;
将所述第一芯片的新的固件从所述第一分区拷贝到所述第一芯片中的有效区域。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在确定所述第二芯片的固件需要升级时,将所述第二芯片的新的固件下载到所述第一分区;
将所述第一分区激活成用于存储所述第二芯片的原有固件的第二分区;
将所述第二分区设置为用于下载所述第二芯片的固件的第一分区。
3.如权利要求1所述的方法,其特征在于,所述识别第二芯片的闪存中的用于下载所述第二芯片的固件的第一分区,包括:
获取第二芯片的分区信息;
通过所述分区信息识别所述第二芯片的闪存中的用于下载所述第二芯片的固件的第一分区。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一芯片的新的固件下载到所述第一分区后,对所述第一芯片的新的固件进行校验。
5.一种对固件进行升级的装置,应用在智能设备上,其特征在于,所述装置包括:
识别模块,被配置为在确定第一芯片的固件需要升级时,识别第二芯片的闪存中的用于下载所述第二芯片的固件的第一分区;
第一下载模块,被配置为将所述第一芯片的新的固件下载到所述识别模块识别到的所述第一分区;
拷贝模块,被配置为将所述第一下载模块下载得到的所述第一芯片的新的固件从所述第一分区拷贝到所述第一芯片中的有效区域。
6.如权利要求5所述的装置,其特征在于,所述装置还包括:
第二下载模块,被配置为在确定所述第二芯片的固件需要升级时,将所述第二芯片的新的固件下载到所述识别模块识别到的所述第一分区;
激活模块,被配置为在所述第二下载模块将所述第二芯片的新的固件下载到所述第一分区后,将所述第一分区激活成用于存储所述第二芯片的原有固件的第二分区;
设置模块,被配置为在所述激活模块将所述第一分区激活为所述第二分区后,将所述第二分区设置为用于下载所述第二芯片的固件的第一分区。
7.如权利要求5所述的装置,其特征在于,所述识别模块包括:
获取子模块,被配置为获取第二芯片的分区信息;
识别子模块,被配置为通过所述获取子模块获取到的所述分区信息识别所述第二芯片的闪存中的用于下载所述第二芯片的固件的第一分区。
8.如权利要求5所述的装置,其特征在于,所述装置还包括:
校验模块,被配置为在所述第一下载模块将所述第一芯片的新的固件下载到所述第一分区后,对所述第一芯片的新的固件进行校验。
9.一种对固件进行升级的装置,其特征在于,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
在确定第一芯片的固件需要升级时,识别第二芯片的闪存中的用于下载所述第二芯片的固件的第一分区;
将所述第一芯片的新的固件下载到所述第一分区;
将所述第一芯片的新的固件从所述第一分区拷贝到所述第一芯片中的有效区域。
CN201410751727.3A 2014-12-09 2014-12-09 对固件进行升级的方法及装置 Active CN104484200B (zh)

Priority Applications (9)

Application Number Priority Date Filing Date Title
CN201410751727.3A CN104484200B (zh) 2014-12-09 2014-12-09 对固件进行升级的方法及装置
PCT/CN2015/077855 WO2016090822A1 (zh) 2014-12-09 2015-04-29 对固件进行升级的方法及装置
MX2015010881A MX354477B (es) 2014-12-09 2015-04-29 Método y dispositivo para actualizar firmware.
BR112015020272A BR112015020272A2 (pt) 2014-12-09 2015-04-29 método e dispositivo para atualização de firmware
JP2016563234A JP6259122B2 (ja) 2014-12-09 2015-04-29 ファームウェアアップグレード方法、装置、プログラム及び記録媒体
RU2015131124A RU2633151C2 (ru) 2014-12-09 2015-04-29 Способ и устройство для обновления микропрограммного обеспечения
KR1020157016306A KR20160084304A (ko) 2014-12-09 2015-04-29 펌웨어 업그레이드 방법, 장치, 프로그램 및 저장매체
US14/841,911 US9886264B2 (en) 2014-12-09 2015-09-01 Method and device for upgrading firmware
EP15193088.0A EP3032412B1 (en) 2014-12-09 2015-11-05 Method and device for upgrading firmware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410751727.3A CN104484200B (zh) 2014-12-09 2014-12-09 对固件进行升级的方法及装置

Publications (2)

Publication Number Publication Date
CN104484200A true CN104484200A (zh) 2015-04-01
CN104484200B CN104484200B (zh) 2018-05-25

Family

ID=52758744

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410751727.3A Active CN104484200B (zh) 2014-12-09 2014-12-09 对固件进行升级的方法及装置

Country Status (8)

Country Link
EP (1) EP3032412B1 (zh)
JP (1) JP6259122B2 (zh)
KR (1) KR20160084304A (zh)
CN (1) CN104484200B (zh)
BR (1) BR112015020272A2 (zh)
MX (1) MX354477B (zh)
RU (1) RU2633151C2 (zh)
WO (1) WO2016090822A1 (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105022690A (zh) * 2015-07-14 2015-11-04 四川长虹电器股份有限公司 一种空调测试方法及功能测试系统
CN105117251A (zh) * 2015-08-25 2015-12-02 浪潮电子信息产业股份有限公司 一种外挂芯片式远程刷新电源firmware的设计方法
CN105554306A (zh) * 2016-01-27 2016-05-04 努比亚技术有限公司 移动终端及其双芯片系统升级方法
CN105577450A (zh) * 2016-01-27 2016-05-11 努比亚技术有限公司 系统升级装置和方法
CN105577940A (zh) * 2016-01-27 2016-05-11 努比亚技术有限公司 移动终端及系统升级方法
WO2016090822A1 (zh) * 2014-12-09 2016-06-16 小米科技有限责任公司 对固件进行升级的方法及装置
CN106843958A (zh) * 2017-01-18 2017-06-13 成都黑盒子电子技术有限公司 一种嵌入式固件升级方法
CN107608705A (zh) * 2017-09-29 2018-01-19 深圳市瑞科慧联科技有限公司 一种无线wifi视频设备及其固件升级方法
US9886264B2 (en) 2014-12-09 2018-02-06 Xiaomi Inc. Method and device for upgrading firmware
CN107748665A (zh) * 2017-09-06 2018-03-02 中国航空工业集团公司西安飞行自动控制研究所 一种适用于水下惯导设备的软件升级方法
CN107992322A (zh) * 2017-12-04 2018-05-04 上海无线电设备研究所 一种雷达信号处理机dsp代码自更新方法
CN109002317A (zh) * 2018-06-27 2018-12-14 上海有个机器人有限公司 一种pcba固件升级方法及系统、pcba
CN110175042A (zh) * 2019-06-04 2019-08-27 深圳云里物里科技股份有限公司 一种固件升级方法、装置及其相关设备
CN113204364A (zh) * 2021-05-28 2021-08-03 广州众诺电子技术有限公司 一种芯片固件升级方法、装置、电子设备及存储介质
CN113434184A (zh) * 2021-06-30 2021-09-24 浙江大华技术股份有限公司 设备升级方法、装置、存储介质及电子装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10581755B2 (en) 2015-04-03 2020-03-03 Nicira, Inc. Provisioning network services in a software defined data center
US10242197B2 (en) 2016-09-23 2019-03-26 Intel Corporation Methods and apparatus to use a security coprocessor for firmware protection
US11210084B2 (en) * 2018-03-09 2021-12-28 Samsung Electronics Co., Ltd. Integrated single FPGA and solid state disk controller
KR20210101690A (ko) 2020-02-10 2021-08-19 삼성전자주식회사 전자 장치 및 전자 장치의 초기화 방법
EP3937044A1 (en) * 2020-07-06 2022-01-12 Thales DIS France SA Method for managing a biometric smart card
US20220103430A1 (en) 2020-09-28 2022-03-31 Vmware, Inc. Defining logical networks for deploying applications
KR102520452B1 (ko) * 2021-05-24 2023-04-12 주식회사 아이자랩 경사지 붕괴위험 예측용 계측기의 무선 원격 펌웨어 업데이트 방법
CN114138694A (zh) * 2021-11-29 2022-03-04 杭州迪普科技股份有限公司 下载接口模块、芯片烧录方法及装置
CN114661368B (zh) * 2022-05-19 2022-09-06 中昊芯英(杭州)科技有限公司 一种芯片及其启动方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030140A (zh) * 2006-03-02 2007-09-05 中兴通讯股份有限公司 一种对固件程序进行在线升级的装置及其方法
CN101105756A (zh) * 2007-08-21 2008-01-16 中兴通讯股份有限公司 多核终端的固件升级方法
CN102662706A (zh) * 2012-04-01 2012-09-12 西安合众思壮导航技术有限公司 一种远程可靠升级xip 芯片软件的方法
CN102722390A (zh) * 2012-06-05 2012-10-10 上海联影医疗科技有限公司 多处理器共用flash的装置及固件程序加载与升级方法
WO2013101068A1 (en) * 2011-12-29 2013-07-04 Intel Corporation Short circuit of probes in a chain
CN103810004A (zh) * 2013-11-22 2014-05-21 小米科技有限责任公司 嵌入式系统升级的方法、装置及设备
US8812746B2 (en) * 2010-12-16 2014-08-19 Intel Corporation Dynamically configurable device host controller

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2357382A1 (en) * 2001-09-17 2003-03-17 Soma Networks, Inc. Software update method, apparatus and system
WO2007148900A1 (en) * 2006-06-19 2007-12-27 Samsung Electronics Co., Ltd. Program upgrade system and method for ota-capable portable device
KR101426710B1 (ko) * 2006-07-14 2014-09-23 삼성전자주식회사 휴대단말기의 버전정보 갱신 장치 및 방법
JP2008104036A (ja) * 2006-10-20 2008-05-01 Sumitomo Electric Ind Ltd 通信装置
US8429640B2 (en) * 2009-06-05 2013-04-23 Dell Products L.P. System and method for modifying firmware
CN103116502A (zh) * 2011-11-17 2013-05-22 国家纳米技术与工程研究院 一种利用主备版本备份实现升级的方法
US8972970B2 (en) * 2012-07-02 2015-03-03 Taiwan Gomet Technology Co. Ltd. Firmware overwriting method in paired use wireless microphone and receiver
CN102945174A (zh) * 2012-11-08 2013-02-27 大连捷成实业发展有限公司 通过接着片外Flash实现单片机程序升级的方法
JP6175788B2 (ja) * 2013-02-11 2017-08-09 住友電気工業株式会社 マイクロプログラムを更新可能な電子機器
JP6070360B2 (ja) * 2013-03-29 2017-02-01 沖電気工業株式会社 情報処理装置およびその処理方法
CN104484200B (zh) * 2014-12-09 2018-05-25 小米科技有限责任公司 对固件进行升级的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030140A (zh) * 2006-03-02 2007-09-05 中兴通讯股份有限公司 一种对固件程序进行在线升级的装置及其方法
CN101105756A (zh) * 2007-08-21 2008-01-16 中兴通讯股份有限公司 多核终端的固件升级方法
US8812746B2 (en) * 2010-12-16 2014-08-19 Intel Corporation Dynamically configurable device host controller
WO2013101068A1 (en) * 2011-12-29 2013-07-04 Intel Corporation Short circuit of probes in a chain
CN102662706A (zh) * 2012-04-01 2012-09-12 西安合众思壮导航技术有限公司 一种远程可靠升级xip 芯片软件的方法
CN102722390A (zh) * 2012-06-05 2012-10-10 上海联影医疗科技有限公司 多处理器共用flash的装置及固件程序加载与升级方法
CN103810004A (zh) * 2013-11-22 2014-05-21 小米科技有限责任公司 嵌入式系统升级的方法、装置及设备

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9886264B2 (en) 2014-12-09 2018-02-06 Xiaomi Inc. Method and device for upgrading firmware
WO2016090822A1 (zh) * 2014-12-09 2016-06-16 小米科技有限责任公司 对固件进行升级的方法及装置
CN105022690A (zh) * 2015-07-14 2015-11-04 四川长虹电器股份有限公司 一种空调测试方法及功能测试系统
CN105117251A (zh) * 2015-08-25 2015-12-02 浪潮电子信息产业股份有限公司 一种外挂芯片式远程刷新电源firmware的设计方法
CN105577940A (zh) * 2016-01-27 2016-05-11 努比亚技术有限公司 移动终端及系统升级方法
CN105554306A (zh) * 2016-01-27 2016-05-04 努比亚技术有限公司 移动终端及其双芯片系统升级方法
CN105577450A (zh) * 2016-01-27 2016-05-11 努比亚技术有限公司 系统升级装置和方法
CN105554306B (zh) * 2016-01-27 2019-05-31 努比亚技术有限公司 移动终端及其双芯片系统升级方法
CN105577940B (zh) * 2016-01-27 2019-05-31 努比亚技术有限公司 移动终端及系统升级方法
CN106843958A (zh) * 2017-01-18 2017-06-13 成都黑盒子电子技术有限公司 一种嵌入式固件升级方法
CN107748665A (zh) * 2017-09-06 2018-03-02 中国航空工业集团公司西安飞行自动控制研究所 一种适用于水下惯导设备的软件升级方法
CN107608705A (zh) * 2017-09-29 2018-01-19 深圳市瑞科慧联科技有限公司 一种无线wifi视频设备及其固件升级方法
CN107992322B (zh) * 2017-12-04 2021-06-04 上海无线电设备研究所 一种雷达信号处理机dsp代码自更新方法
CN107992322A (zh) * 2017-12-04 2018-05-04 上海无线电设备研究所 一种雷达信号处理机dsp代码自更新方法
CN109002317A (zh) * 2018-06-27 2018-12-14 上海有个机器人有限公司 一种pcba固件升级方法及系统、pcba
CN110175042A (zh) * 2019-06-04 2019-08-27 深圳云里物里科技股份有限公司 一种固件升级方法、装置及其相关设备
CN113204364A (zh) * 2021-05-28 2021-08-03 广州众诺电子技术有限公司 一种芯片固件升级方法、装置、电子设备及存储介质
CN113434184A (zh) * 2021-06-30 2021-09-24 浙江大华技术股份有限公司 设备升级方法、装置、存储介质及电子装置

Also Published As

Publication number Publication date
CN104484200B (zh) 2018-05-25
MX354477B (es) 2018-03-07
EP3032412B1 (en) 2024-06-26
RU2015131124A (ru) 2017-06-07
MX2015010881A (es) 2016-08-02
WO2016090822A1 (zh) 2016-06-16
RU2633151C2 (ru) 2017-10-11
JP6259122B2 (ja) 2018-01-10
EP3032412A1 (en) 2016-06-15
BR112015020272A2 (pt) 2017-07-18
JP2017505966A (ja) 2017-02-23
KR20160084304A (ko) 2016-07-13

Similar Documents

Publication Publication Date Title
CN104484200A (zh) 对固件进行升级的方法及装置
US9886264B2 (en) Method and device for upgrading firmware
CN104156236A (zh) 节省存储空间的方法和装置
JP6230762B2 (ja) 指紋識別方法、装置、プログラム、記録媒体および移動端末
CN105094931A (zh) 软件升级方法及装置
CN104469741A (zh) 终端配置方法和装置
CN104766005A (zh) 应用软件访问权限的管理方法和装置
CN104486451A (zh) 应用程序推荐方法及装置
CN104636140A (zh) 固件压缩方法、固件解压方法和装置
CN104536783A (zh) 预留空间设置方法及装置
CN105306752A (zh) 生成事件提醒的方法及装置
CN105068848A (zh) 系统升级方法及装置
CN105094904A (zh) 安装应用程序的方法及装置
EP3040856B1 (en) Firmware refreshing method and device
CN105094830A (zh) 一种执行目标功能的方法和装置
CN105426210A (zh) 对系统进行升级的方法及装置
CN105187671A (zh) 录音方法及装置
CN105183571A (zh) 函数调用方法和装置
CN104714826A (zh) 应用主题的加载方法及装置
CN104850643A (zh) 图片对比方法和装置
CN104360875A (zh) 隐私模式启动方法和装置
CN105487903A (zh) 系统升级方法及装置
CN104239095A (zh) 操作系统启动方法、装置及终端设备
CN104899059A (zh) 操作系统升级方法及装置
CN107239771A (zh) 指纹校准方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information

Inventor after: Shan Lianyu

Inventor after: Hou Enxing

Inventor after: Wu Junhong

Inventor after: Li Chao

Inventor after: Wang Zhiheng

Inventor after: Wang Bo

Inventor after: Wen Jian

Inventor after: Peng Guangqian

Inventor after: Meng Deguo

Inventor after: Liu Xin

Inventor before: Meng Deguo

Inventor before: Liu Xin

Inventor before: Hou Enxing

CB03 Change of inventor or designer information
TR01 Transfer of patent right

Effective date of registration: 20221222

Address after: 430000 No. 006, floor 1, No. 66, Jiufeng 1st Road, Donghu New Technology Development Zone, Wuhan, Hubei Province (Wuhan area of free trade zone)

Patentee after: Xiaomi Technology (Wuhan) Co.,Ltd.

Patentee after: Xiaomi Technology Co.,Ltd.

Address before: 100085 Beijing Haidian District Qinghe middle street 68 Huarun colorful shopping mall two phase 13 level.

Patentee before: Xiaomi Technology Co.,Ltd.

TR01 Transfer of patent right