芯片的固件升级方法和固件升级装置制造方法

文档序号:6548550阅读:144来源:国知局
芯片的固件升级方法和固件升级装置制造方法
【专利摘要】本发明提供一种芯片的固件升级方法和固件升级装置,包括:获取芯片的当前固件版本号;确定所述当前固件版本号所属的版本号数值区间;根据预配置的版本号数值区间与芯片型号之间的对应关系,判定所述芯片的型号;从预配置的固件升级文件存储路径下,查询对应于所述芯片的型号的最新固件版本号;当所述最新固件版本号对应的固件版本高于所述当前固件版本号对应的固件版本时,根据所述最新固件版本号对应的固件升级文件执行对所述芯片的固件升级操作。在本发明的技术方案中,通过为不同型号的芯片设置对应的版本号数值区间,能够准确识别出设备中当前芯片的型号,并顺利实现对芯片的固件升级操作。
【专利说明】芯片的固件升级方法和固件升级装置
【技术领域】
[0001 ] 本发明涉及计算机【技术领域】,尤其涉及芯片的固件升级方法和固件升级装置。
【背景技术】
[0002]固件(firmware)是往往担任着最基础、最底层工作的软件,一般存储于芯片内的电可擦除只读存储器 EEPROM(Electrically Erasable Programmable ROM)或 FLASH 芯片中。即便是用于完成同一功能的芯片,当生产厂商不同时,相应芯片的固件升级方法和文件也完全不同。
[0003]然而,在设备的生产过程中,由于芯片供应问题,同一型号的设备往往会同时采用来自多个芯片供应厂商的多种型号的芯片,但相关技术中并未提供同时支持多个型号芯片的兼容升级方法。

【发明内容】

[0004]有鉴于此,本发明提供一种新的技术方案,可以解决相关技术中无法支持多型号芯片的兼容升级的技术问题。
[0005]为实现上述目的,本发明提供技术方案如下:
[0006]根据本发明的第一方面,提出了一种芯片的固件升级方法,包括:
[0007]获取芯片的当前固件版本号;
[0008]确定所述当前固件版本号所属的版本号数值区间;
[0009]根据预配置的版本号数值区间与芯片型号之间的对应关系,判定所述芯片的型号;
[0010]从预配置的固件升级文件存储路径下,查询对应于所述芯片的型号的最新固件版本号;
[0011]当所述最新固件版本号对应的固件版本高于所述当前固件版本号对应的固件版本时,根据所述最新固件版本号对应的固件升级文件执行对所述芯片的固件升级操作。
[0012]根据本发明的第二方面,提出了一种芯片的固件升级装置,包括:
[0013]获取单元,用于获取芯片的当前固件版本号;
[0014]确定单元,用于确定所述当前固件版本号所属的版本号数值区间;
[0015]判定单元,用于根据预配置的版本号数值区间与芯片型号之间的对应关系,判定所述芯片的型号;
[0016]查询单元,用于从预配置的固件升级文件存储路径下,查询对应于所述芯片的型号的最新固件版本号;
[0017]操作单元,用于当所述最新固件版本号对应的固件版本高于所述当前固件版本号对应的固件版本时,根据所述最新固件版本号对应的固件升级文件执行对所述芯片的固件升级操作。
[0018]根据本发明的第三方面,提出了一种芯片的固件升级装置,包括:[0019]处理器;
[0020]用于存储处理器可执行指令的存储器;
[0021]其中,所述处理器被配置为:
[0022]获取芯片的当前固件版本号;
[0023]确定所述当前固件版本号所属的版本号数值区间;
[0024]根据预配置的版本号数值区间与芯片型号之间的对应关系,判定所述芯片的型号;
[0025]从预配置的固件升级文件存储路径下,查询对应于所述芯片的型号的最新固件版本号;
[0026]当所述最新固件版本号对应的固件版本高于所述当前固件版本号对应的固件版本时,根据所述最新固件版本号对应的固件升级文件执行对所述芯片的固件升级操作。
[0027]由以上技术方案可见,本发明通过为不同型号的芯片设置对应的版本号数值区间,能够准确识别出设备中当前芯片的型号,并顺利实现对芯片的固件升级操作。
【专利附图】

【附图说明】
[0028]图1示出了根据本发明的一个实施例的芯片的固件升级方法的流程示意图;
[0029]图2示出了根据本发明的一个实施例的兼容多型号MCU的固件升级流程示意图;
[0030]图3示出了根据本发明的另一个实施例的兼容多型号MCU的固件升级流程示意图;
[0031]图4示出了根据本发明的一个实施例的芯片的固件升级装置的流程示意图。【具体实施方式】
[0032]本发明通过为不同型号的芯片设置对应的版本号数值区间,能够准确识别出设备中当前芯片的型号,并顺利实现对芯片的固件升级操作。
[0033]为对本发明进行进一步说明,提供下列实施例:
[0034]图1示出了根据本发明的一个实施例的芯片的固件升级方法的流程示意图。
[0035]如图1所示,根据本发明的一个实施例的芯片的固件升级方法,包括:
[0036]步骤102,获取芯片的当前固件版本号;
[0037]在本实施例中,芯片配置于设备中,可以由芯片在设备每次开机后,主动向设备的控制平面(比如该设备的CPU)反馈当前固件版本号,或者也可以由控制平面向芯片请求,并接收芯片返回的当前固件版本号。
[0038]步骤104,确定所述当前固件版本号所属的版本号数值区间;
[0039]步骤106,根据预配置的版本号数值区间与芯片型号之间的对应关系,判定所述芯片的型号;
[0040]在本实施例中,每种型号的芯片对应于不同的版本号数值区间,则通过确定当前固件版本号对应的版本号数值区间,就能够反推出相应的芯片型号,以便采用对应于该芯片型号的固件升级文件和升级方式来执行固件升级操作。
[0041]步骤108,从预配置的固件升级文件存储路径下,查询对应于所述芯片的型号的最新固件版本号;[0042]步骤110,当所述最新固件版本号对应的固件版本高于所述当前固件版本号对应的固件版本时,根据所述最新固件版本号对应的固件升级文件执行对所述芯片的固件升级操作。
[0043]由上述实施例可知,通过为每种芯片型号预配置对应的版本号数值区间,可以根据芯片的当前固件版本号所处的版本号数值区间,确定该芯片的型号。由于能够准确识别出当前芯片的型号,即可在预配置的固件升级文件存储路径下存储所有芯片型号对应的固件升级文件,并基于当前芯片的型号准确选取对应的固件升级文件,实现兼容多种型号的芯片的固件升级操作。
[0044]为了便于描述,下面以MCU(Micix) Control Unit,微控制单元)芯片的固件升级场景为例,具体说明本发明的技术方案。其中,图2示出了根据本发明的一个实施例的兼容多型号MCU的固件升级流程示意图;图3示出了根据本发明的另一个实施例的兼容多型号MCU的固件升级流程示意图。
[0045]以智能电视为例,假定智能电视中配置有用于控制主板供电、LED灯条控制等功能的MCU芯片,则基于MCU、CPU和eMMC (Embedded Multi Media Card,嵌入式多媒体卡)之间的交互过程,实现了基于本发明的兼容多型号MCU的固件升级。
[0046]实施例一
[0047]如图2所示,根据一示例性实施例的兼容多型号MCU的固件升级过程包括:
[0048]步骤202,在智能电视开机后,CPU向MCU发起版本号查询请求。
[0049]步骤204,响应于版本号查询请求,CPU接收MCU反馈的当前固件版本号。
[0050]步骤206,CPU根据当前固件版本号判断MCU的型号。
[0051]具体地,预先为不同型号的MCU配置了不同的版本号数值区间。举例而言,比如智能电视的生产厂商共采购了三种型号的MCU芯片,分别为MCU1、MCU2和MCU3,其中MCUl对应的版本号数值区间为[1,100]、MCU2对应的版本号数值区间为[101,200]、MCU3对应的版本号数值区间为[201,300]。其中,上述的MCU型号与版本号数值区间之间的对应关系,可以预先配置并存储在设备(如上述的智能电视)的非运行内存(可长期存储数据,与只能够暂存数据的“运行内存”相对)中,比如eMMC的预设路径下;或者,当设备支持通过SD卡(Secure Digital Memory Card)、TF 卡(Trans-flash Card)等扩展存储空间时,也可以将对应关系存储在扩展存储空间中。
[0052]因而根据MCU反馈的当前固件版本号,比如该当前固件版本号为150,即可确定其属于版本号数值区间[101,200],从而判定MCU属于MCU2型号。
[0053]步骤208,可以将所有版本的MCU对应的最新固件升级文件都存储在预设路径,比如存放在eMMC中的/system/bin下,且MCUl对应于固件升级文件(可以为软件镜像的形式)MCU1.bin、MCU2对应于固件升级文件MCU2.bin、MCU3对应于固件升级文件MCU3.bin。具体地,最新固件升级文件可以由设备在周期触发或手动触发升级时,从对应的服务器中下载并存储于上述的预设路径;或者,也可以由用户通过其他方式自行获取后,手动将其存储在上述的预设路径中;本申请对该文件的获取方式并不作限定。
[0054]因此,CPU可以根据当前MCU所属的型号,即MCU2,向eMMC查询对应的最新固件升级文件,以确定对应于MCU2的最新固件版本号。
[0055]步骤210,根据查询到的最新固件版本号,判断是否需要对当前MCU芯片执行固件升级操作。
[0056]具体地,比如查询到对应于MCU2的最新固件版本号为182,则说明当前MCU中的固件版本不是最新版本(在上文假定当前固件版本号为150的基础上,由于150 < 182,说明版本号为182的固件升级文件比版本号为150的固件升级文件更晚生成,则判定当前MCU中的固件并非最新版本),需要执行固件升级操作;或者,比如查询到对应于MCU2的最新固件版本号为150,则说明当前MCU中的固件版本已经是最新版本,无需执行固件升级操作。
[0057]步骤212,若需要执行固件升级操作,则从eMMC获取相应的固件升级文件,比如对应于MCU2、版本号为182的固件升级文件。
[0058]步骤214,基于获取的最新固件升级文件,对MCU执行固件升级操作,比如刷入MCU内的Flash (闪存)芯片。
[0059]基于上述实施例,本发明通过为不同型号的MCU分配对应的版本号数值区间,从而实现对MCU的准确识别,因此只需要将所有型号的MCU对应的固件升级文件都存储在智能电视中的预设路径,设备即可自动实现兼容各个型号的MCU的固件升级操作。
[0060]实施例二
[0061]如图3所示,根据另一示例性实施例的兼容多型号MCU的固件升级过程包括:
[0062]步骤302,在智能电视首次开机时,CPU获取MCU中的预烧录固件版本号。
[0063]步骤304,CPU根据预烧录固件版本号,判断MCU的芯片型号。具体地,判断方式类似于图2所示的步骤206,此处不再赘述。
[0064]步骤306,作为举例,假定判定MCU的芯片型号为MCU2,则将该型号存储于eMMC。
[0065]步骤308,类似于图2所示的步骤202,在智能电视某次开机之后,CPU向MCU发起版本号查询请求。
[0066]步骤310,针对CPU发起的版本号查询请求,若MCU未响应(具体地,比如在预定时间内未响应),则从eMMC中获取存储的芯片型号,即上述的MCU2。
[0067]步骤312,基于获取的该芯片型号MCU2,从eMMC中的预设路径获取对应的固件升级文件。
[0068]步骤314,基于获取的固件升级文件,执行对MCU芯片的固件升级操作。
[0069]在上述实施例中,基于对芯片型号的判断和存储,即便在设备的使用过程中,芯片内的固件发生损坏而无法响应CPU发起的版本号查询请求,仍然能够根据预先存储的芯片型号,直接获取对应的固件升级文件来执行固件升级操作,有助于提升多型号芯片的固件升级操作的可靠性。
[0070]对应于上述的芯片的固件升级方法,本发明还提出了芯片的固件升级装置。请参考图4,图4示出了根据本发明的一个实施例的芯片的固件升级装置的流程示意图。
[0071]为了方便描述,本申请将构成芯片的固件升级装置的终端设备的硬件架构进行了简化抽象,各个安全设备在硬件层面均包括处理器、内存、非易失性存储器以及网络接口。从业务层面来看,图4中的芯片的固件升级装置可理解为对应主机上的处理器将计算机程序读取到内存中然后执行所形成的逻辑装置(也称为“虚拟装置”)。当然本发明并不排除软件实现以外其他实现方式,比如可编程逻辑器件这样的实现方式等等,也就是说后续描述的各个处理步骤的执行主体可以采用硬件或逻辑器件等方式实现。在本实施方式中,所述芯片的固件升级装置可以包括获取单元402、确定单元404、判定单元406、查询单元408和操作单元410。
[0072]获取单元402,被配置为获取芯片的当前固件版本号;
[0073]确定单元404,被配置为确定所述当前固件版本号所属的版本号数值区间;
[0074]判定单元406,被配置为根据预配置的版本号数值区间与芯片型号之间的对应关系,判定所述芯片的型号;
[0075]查询单元408,被配置为从预配置的固件升级文件存储路径下,查询对应于所述芯片的型号的最新固件版本号;
[0076]操作单元410,被配置为当所述最新固件版本号对应的固件版本高于所述当前固件版本号对应的固件版本时,根据所述最新固件版本号对应的固件升级文件执行对所述芯片的固件升级操作。
[0077]在上述实施例中,通过为每种芯片型号预配置对应的版本号数值区间,可以根据芯片的当前固件版本号所处的版本号数值区间,确定该芯片的型号。由于能够准确识别出当前芯片的型号,即可在预配置的固件升级文件存储路径下存储所有芯片型号对应的固件升级文件,并基于当前芯片的型号准确选取对应的固件升级文件,实现兼容多种型号的芯片的固件升级操作。其中,上述的MCU型号与版本号数值区间之间的对应关系,可以预先配置并存储在设备(如智能电视)的非运行内存中,比如eMMC的预设路径下;或者,当设备支持通过SD卡、TF卡等扩展存储空间时,也可以将对应关系存储在扩展存储空间中。
[0078]此外,最新固件升级文件可以由设备在周期触发或手动触发升级时,从对应的服务器中下载并存储于上述的预设路径;或者,也可以由用户通过其他方式自行获取后,手动将其存储在上述的预设路径中;本申请对该文件的获取方式并不作限定。
[0079]可选的,所述获取单元402具体用于:向所述芯片发起版本号查询请求;以及,接收所述芯片返回的所述当前固件版本号。
[0080]可选的,所述获取单元402还用于:当无法获取所述芯片的当前固件版本号时,从预设存储路径获取所述芯片的预存储型号信息;所述操作单元410还用于:根据所述预存储型号信息,从所述固件升级文件存储路径调取对应的最新固件版本号,并据此执行对所述芯片的固件升级操作。
[0081]可选的,所述获取单元402还用于:在所述芯片所属设备首次开机时,获取所述芯片的预烧录固件版本号;所述确定单元404还用于:根据所述预烧录固件版本号所属的版本号数值区间,确定所述芯片的型号信息;以及,所述固件升级装置还包括:存储单元412,用于将所述型号信息作为所述预存储型号信息,存储至所述预设存储路径。
[0082]本发明还提出了一种芯片的固件升级装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:获取芯片的当前固件版本号;确定所述当前固件版本号所属的版本号数值区间;根据预配置的版本号数值区间与芯片型号之间的对应关系,判定所述芯片的型号;从预配置的固件升级文件存储路径下,查询对应于所述芯片的型号的最新固件版本号;当所述最新固件版本号对应的固件版本高于所述当前固件版本号对应的固件版本时,根据所述最新固件版本号对应的固件升级文件执行对所述芯片的固件升级操作。
[0083]因此,本发明通过为不同型号的芯片设置对应的版本号数值区间,能够准确识别出设备中当前芯片的型号,并顺利实现对芯片的固件升级操作。[0084]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种芯片的固件升级方法,其特征在于,包括: 获取芯片的当前固件版本号; 确定所述当前固件版本号所属的版本号数值区间; 根据预配置的版本号数值区间与芯片型号之间的对应关系,判定所述芯片的型号; 从预配置的固件升级文件存储路径下,查询对应于所述芯片的型号的最新固件版本号; 当所述最新固件版本号对应的固件版本高于所述当前固件版本号对应的固件版本时,根据所述最新固件版本号对应的固件升级文件执行对所述芯片的固件升级操作。
2.根据权利要求1所述的固件升级方法,其特征在于,获取芯片的当前固件版本号包括: 向所述芯片发起版本号查询请求;以及 接收所述芯片返回的所述当前固件版本号。
3.根据权利要求1所述的固件升级方法,其特征在于,还包括: 当无法获取所述芯片 的当前固件版本号时,从预设存储路径获取所述芯片的预存储型号信息; 根据所述预存储型号信息,从所述固件升级文件存储路径调取对应的最新固件版本号,并据此执行对所述芯片的固件升级操作。
4.根据权利要求3所述的固件升级方法,其特征在于,还包括: 在所述芯片所属设备首次开机时,获取所述芯片的预烧录固件版本号; 根据所述预烧录固件版本号所属的版本号数值区间,确定所述芯片的型号信息;以及 将所述型号信息作为所述预存储型号信息,存储至所述预设存储路径。
5.一种芯片的固件升级装置,其特征在于,包括: 获取单元,用于获取芯片的当前固件版本号; 确定单元,用于确定所述当前固件版本号所属的版本号数值区间; 判定单元,用于根据预配置的版本号数值区间与芯片型号之间的对应关系,判定所述芯片的型号; 查询单元,用于从预配置的固件升级文件存储路径下,查询对应于所述芯片的型号的最新固件版本号; 操作单元,用于当所述最新固件版本号对应的固件版本高于所述当前固件版本号对应的固件版本时,根据所述最新固件版本号对应的固件升级文件执行对所述芯片的固件升级操作。
6.根据权利要求5所述的固件升级装置,其特征在于,所述获取单元具体用于: 向所述芯片发起版本号查询请求;以及 接收所述芯片返回的所述当前固件版本号。
7.根据权利要求5所述的固件升级装置,其特征在于, 所述获取单元还用于:当无法获取所述芯片的当前固件版本号时,从预设存储路径获取所述芯片的预存储型号信息; 所述操作单元还用于:根据所述预存储型号信息,从所述固件升级文件存储路径调取对应的最新固件版本号,并据此执行对所述芯片的固件升级操作。
8.根据权利要求7所述的固件升级装置,其特征在于, 所述获取单元还用于:在所述芯片所属设备首次开机时,获取所述芯片的预烧录固件版本号; 所述确定单元还用于:根据所述预烧录固件版本号所属的版本号数值区间,确定所述芯片的型号信息;以及 所述固件升级装置还包括:存储单元,用于将所述型号信息作为所述预存储型号信息,存储至所述预设存储路径。
9.一种芯片的固件升级装置,其特征在于,包括: 处理器; 用于存储处理器可执行指令的存储器; 其中,所述处理器被配置为: 获取芯片的当前固件版本号; 确定所述当前固件版本号所属的版本号数值区间; 根据预配置的版本号数值区间与芯片型号之间的对应关系,判定所述芯片的型号; 从预配置的固件升级文件存储路径下,查询对应于所述芯片的型号的最新固件版本号; 当所述最新固件版本号对应的固件版本高于所述当前固件版本号对应的固件版本时,根据所述最新固件版本号对应的固件升级文件执行对所述芯片的固件升级操作。
【文档编号】G06F9/445GK103984581SQ201410242870
【公开日】2014年8月13日 申请日期:2014年5月30日 优先权日:2014年5月30日
【发明者】曲仕辉 申请人:乐视致新电子科技(天津)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1