CN102541571A - 多重处理器装置及其固件更新的方法 - Google Patents

多重处理器装置及其固件更新的方法 Download PDF

Info

Publication number
CN102541571A
CN102541571A CN2010105793270A CN201010579327A CN102541571A CN 102541571 A CN102541571 A CN 102541571A CN 2010105793270 A CN2010105793270 A CN 2010105793270A CN 201010579327 A CN201010579327 A CN 201010579327A CN 102541571 A CN102541571 A CN 102541571A
Authority
CN
China
Prior art keywords
firmware
processor
image file
mentioned
update
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.)
Pending
Application number
CN2010105793270A
Other languages
English (en)
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.)
Ambit Microsystems Shanghai Ltd
Hon Hai Precision Industry Co Ltd
Original Assignee
Ambit Microsystems Shanghai Ltd
Hon Hai Precision Industry Co Ltd
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 Ambit Microsystems Shanghai Ltd, Hon Hai Precision Industry Co Ltd filed Critical Ambit Microsystems Shanghai Ltd
Priority to CN2010105793270A priority Critical patent/CN102541571A/zh
Publication of CN102541571A publication Critical patent/CN102541571A/zh
Pending legal-status Critical Current

Links

Images

Abstract

一种固件更新的方法,执行于多重处理器装置中。所述多重处理器装置包括至少第一处理器及第二处理器。所述方法包含第一处理器接收固件更新档案的标头,以及剖析所述标头取得多重处理器的固件图像文件之相关信息。如果所述第一处理器判断第二处理器需要固件更新,则通知所述第二处理器并传送相关的固件图像文件信息给所述第二处理器。所述第一处理器可以接着更新其固件图像文件而不必等待所述第二处理器之固件图像文件更新完成。本发明还提供一种执行上述方法的多重处理器装置。本发明之固件更新方法,可以有效缩短多重处理器装置完成固件更新所需的时间。

Description

多重处理器装置及其固件更新的方法
技术领域
本发明涉及固件更新技术,尤其涉及一种多重处理器装置的固件更新方法。
背景技术
一般采用多重处理器架构的装置,为了达成多个处理器的分工作业,通常使用功能各异的多个处理器。例如多重处理器装置可能包含应用于处理网络封包的网络处理器以及应用于处理数字信号的数字信号处理器等,其多个处理器的功能不同,但运作时具有相依性。功能不同的处理器进行更新所需的固件必然有所不同。若于下载复合式固件更新档案后,再逐一对需要升级的处理器进行固件更新,则多重处理器装置的固件更新所需时间将受处理器数目的影响。当装置中所含处理器的数目越多,装置完成固件更新所花费的时间也就越长。
发明内容
有鉴于此,需提供一种多重处理器装置的固件更新方法,可以有效缩短多重处理器装置完成固件更新所需的时间。
本发明提供一种固件更新的方法,执行于具有第一处理器以及第二处理器的一装置中,所述方法包括:所述第一处理器接收一更新固件的标头;剖析所述标头以取得所述第一处理器用的第一固件图像文件于所述更新固件中的偏移量、长度与校验和以及所述第二处理器用的第二固件图像文件于所述更新固件中的偏移量、长度与校验和;判断所述第二处理器是否需要固件更新;其中若所述第二处理器需要固件更新,则传送一固件更新的通知与所述第二固件图像文件于所述更新固件中的偏移量、长度与校验和给所述第二处理器;以及判断所述第一处理器是否需要固件更新;其中若所述第一处理器需要固件更新,利用所述第一固件图像文件于所述更新固件中的偏移量及长度以下载所述第一固件图像文件。
优选地,所述方法还包括所述第二处理器响应所述第一处理器所传送之所述固件更新的通知,利用所接受到的所述第二固件图像文件于所述更新固件中的偏移量及长度以下载所述第二固件图像文件;以及利用所接收到的所述第二固件图像文件的校验和以验证所下载的所述第二固件图像文件的完整性。
优选地,所述方法还包括所述第一处理器利用取得的所述第一固件图像文件的校验和以验证所下载的所述第一固件图像文件的完整性。
优选地,所述标头还包括所述第一固件图像文件的版本与所述第二固件图像文件的版本。
优选地,所述方法还包括所述第一处理器根据所述第一固件图像文件的版本判断该第一处理器是否需要固件更新;以及根据该第二固件图像文件的版本判断该第二处理器是否需要固件更新。
本发明实施方式中的多重处理器装置包括第一处理器以及第二处理器。该第一处理器用于接收更新固件的标头并剖析该标头,以取得该第一处理器用的第一固件图像文件于该更新固件中的偏移量、长度与校验和以及该第二处理器用的第二固件图像文件于该更新固件中的偏移量、长度与校验和,并判断该第二处理器是否需要固件更新。若该第二处理器需要固件更新,该第一处理器则传送固件更新的通知与该第二固件图像文件于该更新固件中的偏移量、长度与校验和给该第二处理器。该第一处理器还判断该第一处理器是否需要固件更新。若该第一处理器需要固件更新,利用该第一固件图像文件于该更新固件中的偏移量及长度以下载该第一固件图像文件。
优选地,该第二处理器响应该第一处理器所传送之该固件更新的通知,利用所接受到的该第二固件图像文件于该更新固件中的偏移量及长度以下载该第二固件图像文件;以及利用所接收到的该第二固件图像文件的校验和以验证所下载的该第二固件图像文件的完整性。
优选地,该第一处理器利用取得的该第一固件图像文件的校验和以验证所下载的该第一固件图像文件的完整性。
优选地,该标头还包括该第一固件图像文件的版本与该第二固件图像文件的版本。
优选地,该第一处理器根据该第一固件图像文件的版本判断该第一处理器是否需要固件更新;以及根据该第二固件图像文件的版本判断该第二处理器是否需要固件更新。
上述多重处理器装置及其固件更新的方法,使得多重处理器同步进行固件更新,以有效缩短多重处理器装置进行固件更新所需耗费的时间。
附图说明
图1所示为本发明一实施方式中多重处理器装置的示意图。
图2所示为本发明一实施方式中复合固件更新档案的示意图。
图3所示为本发明一实施方式中复合固件更新档案之标头格式的示意图。
图4所示为本发明一实施方式中固件更新方法的流程图。
主要元件符号说明
多重处理器装置          100
处理器                  110、120
通信接口                130
内存                    140
复合式固件更新档案      200
标头                    210
标头版本                211
标头长度                212
档案版本                213
制造商代码              214
产品型号                215
产品名称                216
图像文件个数            217
图像文件类型        218、223
图像文件版本        219、224
图像文件校验和      220、225
图像文件长度        221、226
图像文件偏移量      222、227
固件图像文件        260、280
具体实施方式
请参阅图1,所示为本发明一实施方式中多重处理器装置100的示意图。在本实施方式中,该多重处理器装置100包括第一处理器110、第二处理器120、通信接口130以及内存140。在具体应用中,上述多重处理器装置100可包括二个以上的处理器,上述多重处理器装置100的固件更新可以是针对上述多重处理器装置100中的全部处理器,或其中单数处理器,例如上述第一处理器110或是上述第二处理器120,或全部处理器的子集合进行固件更新。上述第一处理器110及上述第二处理器120可以是集成处理器核心、内存、定时器、输入/输出接口于单一芯片的微控制器,或是通用型的微处理器等。
在本实施方式中,上述第一处理器110可为上述多重处理器装置100的主要处理器,上述第二处理器120为从属处理器。第一处理器110可通过上述多重处理器装置100中的通信总线传递信息,协调与上述第二处理器120间的运作,包含更新固件的版本。例如上述第一处理器110与上述第二处理器120可分别支持不同的功能,执行不同的计算器可读取指令集。上述固件指的是上述多重处理器装置100中可程序化的内容,例如固件可包含单一或多个处理器的机器码或者可程序化之逻辑设备的设定等,上述多重处理器装置100的用户可以通过对固件的更新提升该多重处理器装置100的效能及可靠性。
在本实施方式中,上述内存140包含非挥发性储存媒介,例如电子可擦除可程序化只读存储器(Electrically Erasable Programmable Read only Memory,EEPROM)、闪存或静态随机存取内存(Static Random Access Memory,SRAM)等,用于储存固件或其它数据。上述通信接口130包含无线或有线通信接口,用于下载固件。例如该通信接口130可为射频收发器,上述第一处理器110通过该射频收发器与一主机系统建立无线传输频道,以取得固件更新档案。
请参阅图2,所示为本发明一实施方式中复合式固件更新档案200的示意图。在本实施方式中,复合式固件更新档案200包含标头210、固件图像文件260以及固件图像文件280等字段。该标头210用于表示上述复合式固件更新档案200的相关信息,上述固件图像文件260以及上述固件图像文件280为多重处理器的个别固件图像文件,例如上述固件图像文件260为上述第一处理器110的固件图像文件,上述固件图像文件280为上述第二处理器120的固件图像文件。在其它实施方式中,上述复合式固件更新档案包含上述标头210以及单一或多个固件图像文件。
请参阅图3,所示为本发明一实施方式中该复合式固件更新档案200的上述标头210格式的示意图。在本实施方式中,该标头210包含标头版本211、标头长度212、档案版本213、制造商代码214、产品型号215、产品名称216、图像文件个数217、图像文件类型218、图像文件版本219、图像文件校验和220、图像文件长度221、图像文件偏移量222、图像文件类型223、图像文件版本224、图像文件校验和225、图像文件长度226以及图像文件偏移量227等字段,该等字段长度为固定位长度。上述标头版本211用于表示该标头210的版本信息,藉由版本信息可推知上述标头210格式的字段组成,例如上述第一处理器110通过上述通信接口130下载上述复合式固件更新档案200之上述标头210,并取得上述标头版本211所表示的版本信息后,决定上述标头210之其余字段的语法分析方式。上述标头长度212用于表示该标头210的总长度,组成上述标头210的各字段长度虽为固定的位长度,但因上述标头210包含单一或多个固件图像文件(如上述固件图像文件260、固件图像文件280的其中一个或多个个)的相关信息,故上述标头210的总长度会因该复合式固件更新档案200包含的固件图像文件(如上述固件图像文件260、固件图像文件280的其中一个或多个)之数目不同而有所不同。上述档案版本213用于表示该复合式固件更新档案200的版本信息,该版本信息为二进制值,如上述第一处理器110取得该版本信息后,可以比较目前的固件版本与取得的固件版本决定是否进行上述多重处理器装置100的固件更新。上述制造商代码214用于表示原始制造商的唯一标识符。上述产品型号215用于表示上述多重处理器装置100的唯一标识符。上述产品名称216用于简短描述上述多重处理器装置100。上述第一处理器110取得上述制造商代码214、上述产品型号215以及上述产品名称216等信息后,可用该等信息验证所取得的上述复合式固件更新档案200是否为上述多重处理器装置100进行固件更新所需的档案。在本实施方式中,上述图像文件个数217用于表示该上述复合式固件更新档案200所包含的固件图像文件个数,例如该图像文件个数217的数值为2表示上述复合式固件更新档案200包含2个固件图像文件分别为固件图像文件260以及固件图像文件280。在本实施方式中,上述图像文件类型218、上述图像文件版本219、上述图像文件校验和220、上述图像文件长度221以及上述图像文件偏移量222用于表示上述固件图像文件260的相关信息,上述图像文件类型223、图像文件版本224、上述图像文件校验和225、上述图像文件长度226以及上述图像文件偏移量227用于表示上述固件图像文件280的相关信息。其中,上述图像文件类型218、图像文件类型223分别用于表示上述固件图像文件260、固件图像文件280的类型信息,上述图像文件版本219、图像文件版本224分别用于表示上述固件图像文件260、固件图像文件280的版本信息,上述第一处理器110或第二处理器120可以通过取得个别固件图像文件260、固件图像文件280的类型信息以及版本信息判断是否须进行固件更新。上述图像文件校验和220及图像文件校验和225分别用于表示上述固件图像文件260及固件图像文件280的循环冗余检查(CyclicalRedundancy Check,CRC)校验和,该校验和信息可以用来检测数据于传输过程中是否发生错误。例如上述第一处理器110于接收上述固件图像文件260后,于进行固件更新之前,可以通过CRC计算得到一校验和,将该校验和与上述图像文件校验和220字段的数值进行比对,以确认上述固件图像文件260的完整性;上述第二处理器120于接收上述固件图像文件280后,于进行固件更新之前,可以通过CRC计算得到一校验和,将该校验和与上述图像文件校验和225字段的数值进行比对,以确认上述固件图像文件280的完整性。上述图像文件长度221及图像文件长度226分别用于表示上述固件图像文件260及固件图像文件280的图像文件长度,上述图像文件偏移量222及图像文件偏移量227分别用于表示上述固件图像文件260及固件图像文件280于该复合式固件更新档案200中的起始位置。上述第一处理器110可以通过上述图像文件长度221以及上述图像文件偏移量222的字段信息,取得该复合式固件更新档案200所包含的上述固件图像文件260。上述第二处理器120可以通过上述图像文件长度226以及上述图像文件偏移量227的字段信息,取得该复合式固件更新档案200所包含的上述固件图像文件280。
请参阅图4,所示为本发明一实施方式中固件更新方法的流程图。于步骤S410,上述多重处理器装置100的主要处理器(如上述第一处理器110)通过上述通信接口130与一远程的主机系统建立有线或无线的网络通信连接从该主机系统接收到上述复合式固件更新档案200的该标头210。于步骤S420,该主要处理器通过剖析该标头210取得相关信息,如标头相关信息以及固件图像文件相关信息等。于步骤S430,该主要处理器取得上述复合式固件更新档案200所包含的个别固件图像文件(如固件图像文件260、固件图像文件280)之相关信息。例如该主要处理器通过上述标头210包含的上述图像文件个数217之数值,可得知上述复合式固件更新档案200包含的固件图像文件个数。
于步骤S440,该主要处理器根据上述步骤S430所取得上述图像文件个数217之数值、上述图像文件类型223以及上述图像文件版本224等字段信息,以判断附属处理器(如上述第二处理器120)是否需要进行固件更新。若该主要处理器比对上述图像文件类型223以及上述图像文件版本224等字段信息与储存于上述内存140之该附属处理器的目前固件相关信息,判断上述主机系统所维护的上述复合式固件更新档案200包含的上述固件图像文件280为更新版本,则判断该附属处理器需进行固件更新,执行步骤S450,由该主要处理器传递相关信息通知该附属处理器进行固件更新,前述相关信息包含该主要处理器于上述步骤S430所取得的固件图像文件相关信息。该主要处理器于通知该附属处理器之后,不必等待该附属处理器的任何响应,接着执行步骤S460,续行判断该主要处理器是否需要进行固件更新。若于步骤S440中,该主要处理器判断该附属处理器不需进行固件更新,同样接着执行步骤S460,该主要处理器根据上述步骤S430所取得上述图像文件类型218以及上述图像文件版本219等字段信息,以判断该主要处理器是否需要进行固件更新。
若该主要处理器比对上述图像文件类型218以及上述图像文件版本219等字段信息与储存于上述内存140之该主要处理器的目前固件相关信息,判断上述主机系统所维护的上述复合式固件更新档案200包含的上述固件图像文件260为更新版本,则判断该主要处理器需进行固件更新,接着执行步骤S470。于步骤S470,该主要处理器根据上述步骤S430所取得的上述图像文件长度221以及上述图像文件偏移量222等信息,从上述主机系统接收上述固件图像文件260。于步骤S480,该主要处理器根据上述步骤S430所取得的上述图像文件校验和220验证所接收到的上述固件图像文件260的完整性。于步骤S490,该主要处理器将已验证无误的上述固件图像文件260储存于上述内存140,以完成固件更新。
于步骤S451,该附属处理器收到该主要处理器所传送的固件更新通知与相关信息后,根据所取得的上述图像文件长度226以及上述图像文件偏移量227等信息,从上述主机系统接收上述固件图像文件280。于步骤S452,该附属处理器根据该主要处理器所传送的上述图像文件校验和225验证所接收到的上述固件图像文件280的完整性。于步骤S453,该附属处理器将已验证无误的上述固件图像文件280储存于上述内存140,以完成固件更新。
总结来说,本发明所提出的上述固件更新方法,适用于各种具多重处理器架构的装置,由多重处理器之其中一个处理器先行取得固件更新档案的相关信息,再通知多重处理器之其它处理器进行同步的固件更新,以缩短多重处理器装置进行固件更新所需耗费的时间。

Claims (10)

1.一种固件更新的方法,执行于具有第一处理器以及第二处理器的装置中,其特征在于,所述方法包括:
所述第一处理器接收更新固件的标头;
剖析所述标头以取得所述第一处理器用的第一固件图像文件于所述更新固件中的偏移量、长度与校验和以及所述第二处理器用的第二固件图像文件于所述更新固件中的偏移量、长度与校验和;
判断所述第二处理器是否需要固件更新;
其中若所述第二处理器需要固件更新,则传送固件更新的通知与所述第二固件图像文件于所述更新固件中的偏移量、长度与校验和给所述第二处理器以完成固件更新;以及
判断所述第一处理器是否需要固件更新;
其中若所述第一处理器需要固件更新,利用所述第一固件图像文件于所述更新固件中的偏移量及长度以下载所述第一固件图像文件以完成固件更新。
2.如权利要求1所述之固件更新的方法,其特征在于,所述方法还包括:
所述第二处理器响应所述第一处理器所传送之所述固件更新的通知,利用所接受到的所述第二固件图像文件于所述更新固件中的偏移量及长度以下载所述第二固件图像文件;以及
利用所接收到的所述第二固件图像文件的校验和以验证所下载的所述第二固件图像文件的完整性。
3.如权利要求1所述之固件更新的方法,其特征在于,所述方法还包括:所述第一处理器利用取得的所述第一固件图像文件的校验和以验证所下载的所述第一固件图像文件的完整性。
4.如权利要求1所述之固件更新的方法,其特征在于,所述标头还包括所述第一固件图像文件的版本与所述第二固件图像文件的版本。
5.如权利要求4所述之固件更新的方法,其特征在于,更包括所述第一处理器根据所述第一固件图像文件的版本判断所述第一处理器是否需要固件更新;以及根据所述第二固件图像文件的版本判断所述第二处理器是否需要固件更新。
6.一种多重处理器装置,其特征在于,包括:
第一处理器;以及
第二处理器;
其中所述第一处理器用于接收更新固件的标头并剖析所述标头,以取得所述第一处理器用的第一固件图像文件于所述更新固件中的偏移量、长度与校验和以及所述第二处理器用的第二固件图像文件于所述更新固件中的偏移量、长度与校验和;判断所述第二处理器是否需要固件更新;其中若所述第二处理器需要固件更新,则传送一固件更新的通知与所述第二固件图像文件于所述更新固件中的偏移量、长度与校验和给所述第二处理器以完成固件更新;以及判断所述第一处理器是否需要固件更新;其中若所述第一处理器需要固件更新,利用所述第一固件图像文件于所述更新固件中的偏移量及长度以下载所述第一固件图像文件以完成固件更新。
7.如权利要求6所述之多重处理器装置,其特征在于,所述第二处理器响应所述第一处理器所传送之所述固件更新的通知,利用所接受到的所述第二固件图像文件于所述更新固件中的偏移量及长度以下载所述第二固件图像文件;以及利用所接收到的所述第二固件图像文件的校验和以验证所下载的所述第二固件图像文件的完整性。
8.如权利要求6所述之多重处理器装置,其特征在于,所述第一处理器利用取得的所述第一固件图像文件的校验和以验证所下载的所述第一固件图像文件的完整性。
9.如权利要求6所述之多重处理器装置,其特征在于,所述标头还包括所述第一固件图像文件的版本与所述第二固件图像文件的版本。
10.如权利要求9所述之多重处理器装置,其特征在于,所述第一处理器根据所述第一固件图像文件的版本判断所述第一处理器是否需要固件更新;以及根据所述第二固件图像文件的版本判断所述第二处理器是否需要固件更新。
CN2010105793270A 2010-12-08 2010-12-08 多重处理器装置及其固件更新的方法 Pending CN102541571A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105793270A CN102541571A (zh) 2010-12-08 2010-12-08 多重处理器装置及其固件更新的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105793270A CN102541571A (zh) 2010-12-08 2010-12-08 多重处理器装置及其固件更新的方法

Publications (1)

Publication Number Publication Date
CN102541571A true CN102541571A (zh) 2012-07-04

Family

ID=46348544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105793270A Pending CN102541571A (zh) 2010-12-08 2010-12-08 多重处理器装置及其固件更新的方法

Country Status (1)

Country Link
CN (1) CN102541571A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107665123A (zh) * 2016-07-26 2018-02-06 佛山市顺德区顺达电脑厂有限公司 固件更新方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1695118A (zh) * 2002-09-09 2005-11-09 英特尔公司 支持安全更新和多处理器类型的固件体系结构
CN101815988A (zh) * 2007-10-04 2010-08-25 无极公司 固件映像更新和管理

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1695118A (zh) * 2002-09-09 2005-11-09 英特尔公司 支持安全更新和多处理器类型的固件体系结构
CN101815988A (zh) * 2007-10-04 2010-08-25 无极公司 固件映像更新和管理

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107665123A (zh) * 2016-07-26 2018-02-06 佛山市顺德区顺达电脑厂有限公司 固件更新方法
CN107665123B (zh) * 2016-07-26 2020-11-10 佛山市顺德区顺达电脑厂有限公司 固件更新方法

Similar Documents

Publication Publication Date Title
CN101361043B (zh) 从mmc/sd设备引导主机设备的方法,可从mmc/sd设备引导的主机设备以及可以从其引导主机设备的mmc/sd设备方法
CN104102518B (zh) 一种双cpu系统及其程序升级方法
US20110113224A1 (en) Execution time estimation method, execution time estimation program, and execution time estimation device
CN103399809B (zh) 板卡测试方法及测试装置
CN106547574A (zh) 一种dsp程序和fpga程序的外部下载系统及方法
CN103530199A (zh) 一种修复软件运行错误的方法、装置及系统
AU2012246918A1 (en) Method for transferring and installing an application across portable terminals
CN106802814B (zh) 用于软件版本升级的方法及装置
CN106155734B (zh) 一种软件版本的下载方法及装置
CN104156237A (zh) 单片机的在线升级方法
CN103902305A (zh) 基于ti dsp的软件远程加载与固化方法
CN101295255B (zh) 固件更新系统及方法
CN104063254A (zh) 电能表在线升级方法
CN105320529A (zh) 基于NAND-Flash双启动引导的启动方法及装置
CN112540725A (zh) 非易失性数据存储方法、嵌入式系统以及存储介质
CN112068852A (zh) 基于国产服务器的开源软件安装方法、系统及设备和介质
EP2660713A1 (en) Patch mechanism in embedded controller for memory access
CN105487890A (zh) 一种基于c51系列单片机内核的固件下载方法
CN116820908A (zh) 基于Locust的性能测试方法、装置、设备及介质
CN102541571A (zh) 多重处理器装置及其固件更新的方法
CN104699500A (zh) 智能设备中实现引导程序自动升级的方法
CN102446101A (zh) 固件强制升级的系统及其固件的强制升级方法
CN108021413B (zh) 一种fpga在线升级方法及设备
CN105278992A (zh) 固件更新方法及装置
CN113360161A (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120704