CN104579719A - 一种固件的升级方法和系统、上位机和光模块 - Google Patents
一种固件的升级方法和系统、上位机和光模块 Download PDFInfo
- Publication number
- CN104579719A CN104579719A CN201310469841.2A CN201310469841A CN104579719A CN 104579719 A CN104579719 A CN 104579719A CN 201310469841 A CN201310469841 A CN 201310469841A CN 104579719 A CN104579719 A CN 104579719A
- Authority
- CN
- China
- Prior art keywords
- firmware
- optical module
- type
- upgrade
- host computer
- 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
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
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
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
技术领域
本发明涉及远程在线升级技术领域,尤其涉及一种固件的升级方法和系统、上位机和光模块。
背景技术
随着光网络设备对可维护性要求的提高,远程在线升级功能成为光模块产品的关键需求之一。目前MDIO(Management Data Input/Output,管理数据输入/输出)MSA(Multi Source Agreement,多源协议)只定义了软件在线升级的实现方式,并未涵盖其他类型固件升级的处理方式,也即MDIO MSA并未定义适用于不同文件类型升级的途径和方法。
如图1所示,图1为现有技术中软件在线升级的时序图,MDIO MSA所规定的软件映像在线升级过程如下:
软件映像被上位机分割为若干个数据块,每个数据块应包含数据部分和循环冗余校验码(CRC,Cyclic Redundancy Checks)校验和;上位机向光模块发送一个下载映像的请求来启动软件升级过程,光模块接受此请求,设置“升级数据块准备”标志,一旦当前数据块接收过程中发生了任何错误,光模块都会通知上位机,上位机重新传送该数据块;如果同一个数据块发生多次CRC校验错误,上位机强制终止升级过程。当所有的软件映像数据包传送完成后,上位机下发下载完成命令来结束传送过程;光模块会通过成功完成状态命令来确认完整的映像已经被下载成功。下载过程中的错误通过设置错误状态寄存器来反馈。软件映像数据传输完成后,上位机下发运行下载映像请求,光模块将试运行下载的软件映像。试运行成功后,上位机下发映像默认版本指定(commit)命令。
以上软件升级过程中所用的MSA定义的寄存器如下表1所示:
表1
由于光模块设计复杂度的提高导致器件越来越多样,因此在线升级对象类型的单一性已经无法满足远程维护的需求。目前采用MDIO MSA的光模块所涉及的在线升级固件类型包括:微控制单元(MCU,Micro Control Unit)软件映像、现场可编程门阵列(FPGA,Field Programmable Gate Array)逻辑映像和核心集成电路(IC,Integrated Circuit)映像等。不同类型的固件升级过程存在差异,若每种类型都单独采用一种自定义的升级方式,将会增加协议的复杂性和冗余度。因此,怎样提供一种光模块的统一在线升级方法,使其能够同时适应不同类型的固件升级,是目前亟待解决的问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种固件的升级方法和系统、上位机和光模块,以至少实现能够同时适应多种类型固件的在线升级。
为达到上述目的,本发明的技术方案是这样实现的:
一种固件的升级方法,光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,该方法包括:
向所述光模块对应的固件升级类型标识寄存器中写入待升级固件的类型标识,并通过读取所述光模块的固件升级状态寄存器,判断所述光模块是否支持待升级的固件类型;在确定所述光模块支持所述待升级的固件类型时,对所述光模块执行相应类型的固件升级处理。
优选的,所述通过读取光模块的固件升级状态寄存器,判断所述光模块是否支持待升级的固件类型,包括:
读取所述光模块的固件升级状态寄存器中升级命令执行状态比特位,若所读比特位指示命令执行成功,则确定所述光模块支持写入的固件类型标识所对应类型的固件升级;如果命令执行失败,则读所述光模块的固件升级状态寄存器中升级命令执行失败原因寄存器,若原因寄存器指示固件类型不支持,则确定所述光模块不支持写入的固件类型标识所对应类型的固件升级。
优选的,所述对光模块执行相应类型的固件升级处理,包括:
向所述光模块发送下载指令,并传输待升级的固件的映像数据;
在所述映像数据传输成功后,向所述光模块发送试运行新固件命令,指示所述光模块执行新固件的试运行;
在所述光模块试运行新固件成功后,向所述光模块发送映像数据指定命令,指定升级后的所述映像数据为所述光模块默认的启动相应固件的映像数据。
一种固件的升级方法,光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,该方法包括:
在收到上位机的下载指令时,根据所述上位机在所述固件升级类型标识寄存器中写入的升级固件类型,执行相应类型的固件升级处理。
优选的,所述执行相应类型的固件升级处理,包括:
在收到所述上位机发送的下载指令后,接收所述上位机传输的待升级的固件的映像数据,并在所述映像数据下载成功后,向所述上位机发送下载完成消息;
在收到所述上位机发送的试运行新固件命令后,根据所述命令中的固件类型标识,通过统一接口调用相应类型的固件激活策略执行所述新固件的试运行,并在试运行成功后,向所述上位机发送固件试运行成功消息;
在收到所述上位机发送的映像数据指定命令后,根据所述指定命令将升级后的所述映像数据设定为默认的启动相应固件的映像数据。
优选的,所述固件升级类型标识寄存器为管理数据输入/输出多源协议MDIO MSA的保留寄存器。
一种上位机,光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,所述上位机包括:
类型判断单元,用于向所述光模块对应的固件升级类型标识寄存器中写入待升级固件的类型标识,并通过读取所述光模块的固件升级状态寄存器,判断所述光模块是否支持待升级的固件类型;
固件升级单元,用于在所述类型判断单元的判断结果表征所述光模块支持所述待升级的固件类型时,对所述光模块执行相应类型的固件升级处理。
优选的,所述类型判断单元进一步用于,读取所述光模块的固件升级状态寄存器中升级命令执行状态比特位,若所读比特位指示命令执行成功,则确定所述光模块支持写入的固件类型标识所对应类型的固件升级;如果命令执行失败,则读所述光模块的固件升级状态寄存器中升级命令执行失败原因寄存器,若原因寄存器指示固件类型不支持,则确定所述光模块不支持写入的固件类型标识所对应类型的固件升级。
优选的,所述固件升级单元包括:
数据传输子单元,用于向所述光模块发送下载指令,并传输待升级的固件的映像数据;
固件试运行指示子单元,用于在所述映像数据传输成功后,向所述光模块发送试运行新固件命令,指示所述光模块执行新固件的试运行;
数据指示子单元,用于在所述光模块试运行新固件成功后,向所述光模块发送映像数据指定命令,指定升级后的所述映像数据为所述光模块默认的启动相应固件的映像数据。
一种光模块,所述光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,所述光模块还包括:
升级处理单元,用于在收到上位机的下载指令时,根据所述上位机在所述固件升级类型标识寄存器中写入的升级固件类型,执行相应类型的固件升级处理。
优选的,所述升级处理单元包括:
数据下载子单元,用于在收到所述上位机发送的下载指令后,接收所述上位机传输的待升级的固件的映像数据,并在所述映像数据下载成功后,向所述上位机发送下载完成消息;
固件试运行子单元,用于在收到所述上位机发送的试运行新固件命令后,根据所述命令中的固件类型标识,通过统一接口调用相应类型的固件激活策略执行所述新固件的试运行,并在试运行成功后,向所述上位机发送固件试运行成功消息;
数据指定子单元,在收到所述上位机发送的映像数据指定命令后,根据所述指定命令将升级后的所述映像数据设定为默认的启动相应固件的映像数据。
优选的,所述固件升级类型标识寄存器为管理数据输入/输出多源协议MDIO MSA的保留寄存器。
一种固件的升级系统,所述系统包括上述的上位机、以及光模块;
所述光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识;
所述上位机,用于向所述光模块对应的固件升级类型标识寄存器中写入待升级固件的类型标识,并通过读取所述光模块的固件升级状态寄存器,判断所述光模块是否支持待升级的固件类型;在确定所述光模块支持所述待升级的固件类型时,对所述光模块执行相应类型的固件升级处理;
所述光模块,用于在在收到上位机的下载指令时,根据所述上位机在所述固件升级类型标识寄存器中写入的升级固件类型,执行相应类型的固件升级处理。
本发明所提供的一种固件的升级方法和系统、上位机和光模块,采用MDIOMSA中的一个保留寄存器作为升级固件类型标识寄存器,并复用MDIO MSA中的在线升级控制和状态寄存器,将不同固件类型升级过程中状态指示和控制方式统一起来;改进固件升级控制时序,实现控制过程的通用性、固件类型的可扩展性,以及寄存器的可复用性。
附图说明
图1为现有技术中软件在线升级的时序图;
图2为本发明实施例的一种固件升级的时序图;
图3为本发明实施例的固件激活示意图;
图4为本发明实施例的一种光模块的内部在线升级寄存器组的示意图;
图5为本发明实施例的一种固件升级系统的组成结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
本发明实施例提供的一种固件的升级方法,在光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,该方法主要包括:向光模块对应的固件升级类型标识寄存器中写入待升级固件的类型标识,并通过读取所述光模块的固件升级状态寄存器,判断所述光模块是否支持待升级的固件类型;在确定所述光模块支持所述待升级的固件类型时,对所述光模块执行相应类型的固件升级处理。
该方法的执行主体可以是上位机,因此,该升级方法也可描述为:上位机向光模块对应的固件升级类型标识寄存器中写入待升级固件的类型标识,并通过读取所述光模块的固件升级状态寄存器,判断所述光模块是否支持待升级的固件类型;在确定所述光模块支持所述待升级的固件类型时,对所述光模块执行相应类型的固件升级处理。
本发明实施例中,可以启用MDIO MSA中的一个保留寄存器,作为固件升级类型标识寄存器;优选的,可以将MDIO MSA中的保留寄存器B052设定为固件升级类型标识寄存器,使用该寄存器的15~12比特位作为固件升级类型标识,具体类型对应值如下表2所示。表2中列举了三种固件类型:MCU软件映像、FPGA逻辑映像、数字信号处理(DSP,Digital Signal Processor)芯片映像,当然,本发明实施例并非仅限于这些固件类型,其他类型固件可在此基础上进行扩展。另外,本发明实施例中,在MDIO MSA原有寄存器B051的升级命令失败原因比特信息中增加固件类型不支持一项。其对应值如表3所示。
表2
表3
由于B052寄存器为非易失性的,因此掉电或复位重启后会恢复为最后一次的设置值。
作为本发明的一种优选实施方式,所述通过读取光模块的固件升级状态寄存器,判断所述光模块是否支持待升级的固件类型,包括:
读取所述光模块的固件升级状态寄存器中升级命令执行状态比特位,若所读比特位指示命令执行成功,则确定所述光模块支持写入的固件类型标识所对应类型的固件升级;如果命令执行失败,则读所述光模块的固件升级状态寄存器中升级命令执行失败原因寄存器,若原因寄存器指示固件类型不支持,则确定所述光模块不支持写入的固件类型标识所对应类型的固件升级。
在确定光模块支持待升级的固件类型时,对光模块执行相应类型的固件升级处理,包括:
向光模块发送下载指令,并传输待升级的固件的映像数据;
在映像数据传输成功后,向光模块发送试运行新固件命令,指示光模块执行新固件的试运行;
在光模块试运行新固件成功后,向光模块发送映像数据指定命令,指定升级后的映像数据为光模块默认的启动相应固件的映像数据。
本发明实施例还提供了一种固件的升级方法,在光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,该方法主要包括:在收到上位机的下载指令时,根据上位机在固件升级类型标识寄存器中写入的升级固件类型,执行相应类型的固件升级处理。
该方法的执行主体是光模块,因此,该升级方法也描述为:光模块在收到上位机的下载指令时,根据上位机在固件升级类型标识寄存器中写入的升级固件类型,执行相应类型的固件升级处理。
本发明实施例中,可以启用MDIO MSA中的一个保留寄存器,作为固件升级类型标识寄存器;优选的,可以将MDIO MSA中的保留寄存器B052设定为固件升级类型标识寄存器,使用该寄存器的15~12比特位作为固件升级类型标识,具体类型对应值如上表2所示。由于B052寄存器为非易失性的,因此掉电或复位重启后会恢复为最后一次的设置值。
作为本发明的一种优选实施方式,所述光模块执行相应类型的固件升级处理,包括:
在收到所述上位机发送的下载指令后,接收所述上位机传输的待升级的固件的映像数据,并在所述映像数据下载成功后,向所述上位机发送下载完成消息;
在收到所述上位机发送的试运行新固件命令后,根据所述命令中的固件类型标识,通过统一接口调用相应类型的固件激活策略执行所述新固件的试运行,并在试运行成功后,向所述上位机发送固件试运行成功消息;
在收到所述上位机发送的映像数据指定命令后,根据所述指定命令将升级后的所述映像数据设定为默认的启动相应固件的映像数据。
下面再结合图2所示的时序图,对上位机和光模块之间执行的固件升级过程进一步详细说明。固件升级过程主要包括:
步骤201,上位机向光模块设置升级固件类型。
具体的,上位机向光模块的固件升级类型标识寄存器中写入待升级固件的类型标识。
步骤202,上位机查询升级固件类型的设置是否成功。
具体的,上位机读取所述光模块的固件升级状态寄存器中升级命令执行状态比特位,若所读比特位指示命令执行成功,则确定所述光模块支持写入的固件类型标识所对应类型的固件升级;如果命令执行失败,则读所述光模块的固件升级状态寄存器中升级命令执行失败原因寄存器,若原因寄存器指示固件类型不支持,则确定所述光模块不支持写入的固件类型标识所对应类型的固件升级。在升级固件类型设置成功后,继续执行后续步骤;在升级固件类型设置失败后,终止操作。
步骤203~205,上位机向光模块发送下载指令,并传输待升级的固件的映像数据。
一种可行的数据传输过程为:上位机将待升级的固件的映像数据分割为若干个数据块,每个数据块应包含数据部分和循环冗余校验码(CRC,CyclicRedundancy Checks)校验和;一旦当前数据块接收过程中发生了任何错误,光模块都会通知上位机,上位机重新传送该数据块;如果同一个数据块发生多次CRC校验错误,上位机强制终止升级过程。当所有的映像数据包传送完成后,上位机下发数据传输完成命令来结束传送过程;光模块会通过发送在线下载完成消息来确认完整的映像已经被下载成功。下载过程中的错误通过光模块的状态寄存器来记录并反馈。
步骤206,在映像数据传输成功后,上位机向光模块发送试运行新固件命令,指示光模块执行新固件的试运行。
步骤207,在收到上位机发送的试运行新固件命令后,光模块根据所述命令中的固件类型标识,通过统一接口调用相应类型的固件激活策略执行新固件的试运行,并在试运行成功后,向所述上位机发送固件试运行成功消息。
由于不同映像数据的激活方式会不同,因此,本发明实施例通过光模块利用命令中的固件类型标识,采用统一的动态接口调用相应类型的固件激活策略执行新固件的试运行。以MCU映像和FPGA映像的激活为例,如图3所示,当执行MCU映像数据的试运行时,光模块通过调用统一的激活固件接口,执行相应的MCU固件激活步骤,包括:置MCU固件运行标识位;MCU软件重启;boot或管理进程根据标识位启动新的MCU固件。当执行FPGA映像数据的试运行时,光模块通过调用统一的激活固件接口,执行相应的FPGA固件激活步骤,包括:保存当前FPGA重要数据;加载新的FPGA固件;根据重要数据回复FPGA激活前的状态。
步骤208,在光模块试运行新固件成功后,上位机向光模块发送映像数据指定命令,指定升级后的映像数据为光模块默认的启动相应固件的映像数据。
步骤209,光模块在收到上位机发送的映像数据指定命令后,根据所述指定命令将升级后的映像数据设定为默认的启动相应固件的映像数据。
再如图4所示,图4为本发明实施例一种光模块的内部在线升级寄存器组的示意图。图4中,在线升级寄存器组包括:升级控制寄存器B051、状态寄存器B04D、数据传输控制寄存器B04C、数据块存储寄存器组(BC00~BFFF)、以及固件升级类型标识寄存器B052。其中,升级控制寄存器B051负责控制光模块的固件在线升级过程;状态寄存器B04D负责固件在线升级过程中的状态存储;数据传输控制寄存器B04C负责与上位机之间的数据交互;数据块存储寄存器组BC00~BFFF负责在线升级过程中的数据存储;固件升级类型标识寄存器B052负责保存光模块支持升级的固件类型标识,例如:图4中标识0代表MCU映像类型,标识1代表FPGA映像类型,标识2代表DSP芯片映像类型。上位机可执行对光模块的固件升级类型标识寄存器B052的读/写操作,对数据块存储寄存器组的写操作等等。
对应上述固件升级的方法,本发明实施例还提供一种固件升级的系统,如图5所示,该系统包括:上位机10和光模块20;
其中,光模块20中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识;
上位机10,用于向光模块20对应的固件升级类型标识寄存器中写入待升级固件的类型标识,并通过读取光模块20的固件升级状态寄存器,判断光模块20是否支持待升级的固件类型;在确定光模块20支持待升级的固件类型时,对光模块20执行相应类型的固件升级处理;
光模块20,用于在在收到上位机10的下载指令时,根据上位机10在固件升级类型标识寄存器中写入的升级固件类型,执行相应类型的固件升级处理。
优选的,上位机10包括:
类型判断单元11,用于向光模块20对应的固件升级类型标识寄存器中写入待升级固件的类型标识,并通过读取光模块20的固件升级状态寄存器,判断光模块20是否支持待升级的固件类型;
固件升级单元12,用于在类型判断单元11的判断结果表征光模块20支持待升级的固件类型时,对光模块20执行相应类型的固件升级处理。
优选的,类型判断单元11进一步用于,读取光模块20的固件升级状态寄存器中升级命令执行状态比特位,若所读比特位指示命令执行成功,则确定光模块20支持写入的固件类型标识所对应类型的固件升级;如果命令执行失败,则读光模块20的固件升级状态寄存器中升级命令执行失败原因寄存器,若原因寄存器指示固件类型不支持,则确定光模块20不支持写入的固件类型标识所对应类型的固件升级。优选的,固件升级单元12包括:
数据传输子单元121,用于向光模块20发送下载指令,并传输待升级的固件的映像数据;
固件试运行指示子单元122,用于在映像数据传输成功后,向光模块20发送试运行新固件命令,指示光模块20执行新固件的试运行;
数据指示子单元123,用于在光模块试运行新固件成功后,向光模块20发送映像数据指定命令,指定升级后的所述映像数据为光模块20默认的启动相应固件的映像数据。
优选的,光模块20还包括:升级处理单元21,用于在收到上位机10的下载指令时,根据上位机10在固件升级类型标识寄存器中写入的升级固件类型,执行相应类型的固件升级处理。
优选的,升级处理单元21包括:
数据下载子单元211,用于在收到上位机10发送的下载指令后,接收上位机10传输的待升级的固件的映像数据,并在所述映像数据下载成功后,向上位机10发送下载完成消息;
固件试运行子单元212,用于在收到上位机10发送的试运行新固件命令后,根据所述命令中的固件类型标识,通过统一接口调用相应类型的固件激活策略执行所述新固件的试运行,并在试运行成功后,向上位机10发送固件试运行成功消息;
数据指定子单元213,在收到上位机10发送的映像数据指定命令后,根据所述指定命令将升级后的所述映像数据设定为默认的启动相应固件的映像数据。
综上所述,本发明实施例采用MDIO MSA中的一个保留寄存器作为升级固件状态寄存器,用来反映当前光模块所支持的在线升级的固件类型,并控制在线升级的固件类型;复用MDIO MSA中的在线升级控制和状态寄存器,在已有的在线升级状态寄存器中添加在线升级命令执行失败原因信息,将不同固件类型升级过程中状态指示和控制方式统一起来;在升级控制时序中增加对固件类型判断环节,依据不同类型的升级固件对其进行差异化处理,改进固件升级控制时序,实现控制过程的通用性、固件类型的可扩展性,以及寄存器的可复用性,有利于将来新增固件类型时的扩展,有利于扩大MDIO MSA的适用范围。添加在线升级固件类型标识寄存器,节省了MDIO MSA中保留寄存器的资源,使可扩展性得到极大保证;使得在线升级控制时序的可复用性得到提高,降低了实现复杂度。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (13)
1.一种固件的升级方法,其特征在于,光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,该方法包括:
向所述光模块对应的固件升级类型标识寄存器中写入待升级固件的类型标识,并通过读取所述光模块的固件升级状态寄存器,判断所述光模块是否支持待升级的固件类型;在确定所述光模块支持所述待升级的固件类型时,对所述光模块执行相应类型的固件升级处理。
2.根据权利要求1所述固件的升级方法,其特征在于,所述通过读取光模块的固件升级状态寄存器,判断所述光模块是否支持待升级的固件类型,包括:
读取所述光模块的固件升级状态寄存器中升级命令执行状态比特位,若所读比特位指示命令执行成功,则确定所述光模块支持写入的固件类型标识所对应类型的固件升级;如果命令执行失败,则读所述光模块的固件升级状态寄存器中升级命令执行失败原因寄存器,若原因寄存器指示固件类型不支持,则确定所述光模块不支持写入的固件类型标识所对应类型的固件升级。
3.根据权利要求1或2所述固件的升级方法,其特征在于,所述对光模块执行相应类型的固件升级处理,包括:
向所述光模块发送下载指令,并传输待升级的固件的映像数据;
在所述映像数据传输成功后,向所述光模块发送试运行新固件命令,指示所述光模块执行新固件的试运行;
在所述光模块试运行新固件成功后,向所述光模块发送映像数据指定命令,指定升级后的所述映像数据为所述光模块默认的启动相应固件的映像数据。
4.一种固件的升级方法,其特征在于,光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,该方法包括:
在收到上位机的下载指令时,根据所述上位机在所述固件升级类型标识寄存器中写入的升级固件类型,执行相应类型的固件升级处理。
5.根据权利要求4所述固件的升级方法,其特征在于,所述执行相应类型的固件升级处理,包括:
在收到所述上位机发送的下载指令后,接收所述上位机传输的待升级的固件的映像数据,并在所述映像数据下载成功后,向所述上位机发送下载完成消息;
在收到所述上位机发送的试运行新固件命令后,根据所述命令中的固件类型标识,通过统一接口调用相应类型的固件激活策略执行所述新固件的试运行,并在试运行成功后,向所述上位机发送固件试运行成功消息;
在收到所述上位机发送的映像数据指定命令后,根据所述指定命令将升级后的所述映像数据设定为默认的启动相应固件的映像数据。
6.根据权利要求4或5所述固件的升级方法,其特征在于,所述固件升级类型标识寄存器为管理数据输入/输出多源协议MDIO MSA的保留寄存器。
7.一种上位机,其特征在于,光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,所述上位机包括:
类型判断单元,用于向所述光模块对应的固件升级类型标识寄存器中写入待升级固件的类型标识,并通过读取所述光模块的固件升级状态寄存器,判断所述光模块是否支持待升级的固件类型;
固件升级单元,用于在所述类型判断单元的判断结果表征所述光模块支持所述待升级的固件类型时,对所述光模块执行相应类型的固件升级处理。
8.根据权利要求7所述上位机,其特征在于,所述类型判断单元进一步用于,读取所述光模块的固件升级状态寄存器中升级命令执行状态比特位,若所读比特位指示命令执行成功,则确定所述光模块支持写入的固件类型标识所对应类型的固件升级;如果命令执行失败,则读所述光模块的固件升级状态寄存器中升级命令执行失败原因寄存器,若原因寄存器指示固件类型不支持,则确定所述光模块不支持写入的固件类型标识所对应类型的固件升级。
9.根据权利要求7或8所述上位机,其特征在于,所述固件升级单元包括:
数据传输子单元,用于向所述光模块发送下载指令,并传输待升级的固件的映像数据;
固件试运行指示子单元,用于在所述映像数据传输成功后,向所述光模块发送试运行新固件命令,指示所述光模块执行新固件的试运行;
数据指示子单元,用于在所述光模块试运行新固件成功后,向所述光模块发送映像数据指定命令,指定升级后的所述映像数据为所述光模块默认的启动相应固件的映像数据。
10.一种光模块,其特征在于,所述光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,所述光模块还包括:
升级处理单元,用于在收到上位机的下载指令时,根据所述上位机在所述固件升级类型标识寄存器中写入的升级固件类型,执行相应类型的固件升级处理。
11.根据权利要求10所述光模块,其特征在于,所述升级处理单元包括:
数据下载子单元,用于在收到所述上位机发送的下载指令后,接收所述上位机传输的待升级的固件的映像数据,并在所述映像数据下载成功后,向所述上位机发送下载完成消息;
固件试运行子单元,用于在收到所述上位机发送的试运行新固件命令后,根据所述命令中的固件类型标识,通过统一接口调用相应类型的固件激活策略执行所述新固件的试运行,并在试运行成功后,向所述上位机发送固件试运行成功消息;
数据指定子单元,在收到所述上位机发送的映像数据指定命令后,根据所述指定命令将升级后的所述映像数据设定为默认的启动相应固件的映像数据。
12.根据权利要求10或11所述光模块,其特征在于,所述固件升级类型标识寄存器为管理数据输入/输出多源协议MDIO MSA的保留寄存器。
13.一种固件的升级系统,其特征在于,所述系统包括权利要求7-9任一项所述的上位机、以及权利要求10-12任一项所述的光模块;
所述光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识;
所述上位机,用于向所述光模块对应的固件升级类型标识寄存器中写入待升级固件的类型标识,并通过读取所述光模块的固件升级状态寄存器,判断所述光模块是否支持待升级的固件类型;在确定所述光模块支持所述待升级的固件类型时,对所述光模块执行相应类型的固件升级处理;
所述光模块,用于在在收到上位机的下载指令时,根据所述上位机在所述固件升级类型标识寄存器中写入的升级固件类型,执行相应类型的固件升级处理。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310469841.2A CN104579719B (zh) | 2013-10-10 | 2013-10-10 | 一种固件的升级方法和系统、上位机和光模块 |
EP14852023.2A EP3043512B1 (en) | 2013-10-10 | 2014-06-18 | Firmware upgrade method and system, upper computer and optical module |
PCT/CN2014/080222 WO2015051647A1 (zh) | 2013-10-10 | 2014-06-18 | 一种固件的升级方法和系统、上位机和光模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310469841.2A CN104579719B (zh) | 2013-10-10 | 2013-10-10 | 一种固件的升级方法和系统、上位机和光模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104579719A true CN104579719A (zh) | 2015-04-29 |
CN104579719B CN104579719B (zh) | 2019-07-19 |
Family
ID=52812500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310469841.2A Active CN104579719B (zh) | 2013-10-10 | 2013-10-10 | 一种固件的升级方法和系统、上位机和光模块 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3043512B1 (zh) |
CN (1) | CN104579719B (zh) |
WO (1) | WO2015051647A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847067A (zh) * | 2016-05-25 | 2016-08-10 | 北京小米移动软件有限公司 | Zigbee设备的升级方法和装置 |
CN106528186A (zh) * | 2015-09-09 | 2017-03-22 | 阿里巴巴集团控股有限公司 | 资源文件的更新方法和装置 |
WO2017063577A1 (zh) * | 2015-10-15 | 2017-04-20 | 中兴通讯股份有限公司 | 一种光模块的固件升级方法及装置 |
CN106681766A (zh) * | 2016-12-26 | 2017-05-17 | 广东芬尼克兹节能设备有限公司 | 远程固件升级控制方法及系统 |
CN106843932A (zh) * | 2016-12-26 | 2017-06-13 | 歌尔科技有限公司 | 虚拟现实设备固件的升级方法及系统 |
CN107220091A (zh) * | 2017-06-08 | 2017-09-29 | 成都欧飞凌通讯技术有限公司 | 一种100g cfp主备映象文件的升级与切换方法 |
CN108599861A (zh) * | 2018-07-27 | 2018-09-28 | 深圳市极致兴通科技有限公司 | 一种通用的有源光模块写码装置及设备 |
CN108694054A (zh) * | 2017-04-10 | 2018-10-23 | 南昌欧菲生物识别技术有限公司 | 微处理器固件的升级方法及智能终端 |
CN108958765A (zh) * | 2018-06-12 | 2018-12-07 | 新华三技术有限公司 | 升级光模块固件的方法及装置 |
CN110018854A (zh) * | 2019-03-26 | 2019-07-16 | 联想(北京)有限公司 | 一种固件匹配方法、设备和计算机可读存储介质 |
CN110442356A (zh) * | 2019-08-06 | 2019-11-12 | 东莞铭普光磁股份有限公司 | Dsp固件的升级方法及装置 |
CN111273930A (zh) * | 2020-01-21 | 2020-06-12 | 深圳市雷赛软件技术有限公司 | 固件升级控制方法、上位机及固件升级系统 |
CN111367539A (zh) * | 2018-12-25 | 2020-07-03 | 北京兆易创新科技股份有限公司 | 一种eMMC在线升级方法和装置 |
CN114915345A (zh) * | 2021-01-29 | 2022-08-16 | 青岛海信宽带多媒体技术有限公司 | 一种光模块 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144532B (zh) * | 2017-06-13 | 2023-04-11 | 中兴通讯股份有限公司 | 升级方法及装置 |
CN109388413A (zh) * | 2017-08-03 | 2019-02-26 | 中车株洲电力机车研究所有限公司 | 一种fpga程序更新方法及系统 |
CN109901866A (zh) * | 2017-12-07 | 2019-06-18 | 航天科工惯性技术有限公司 | 用于多模块系统的在线升级方法及旋转导向系统 |
CN108984200A (zh) * | 2018-07-17 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种定时更新固件的方法及装置 |
CN109189434A (zh) * | 2018-09-20 | 2019-01-11 | 安徽南瑞中天电力电子有限公司 | 一种电能表的在线升级方法 |
CN111045703B (zh) * | 2019-11-07 | 2023-08-11 | 许继集团有限公司 | 一种电池管理单元软件升级方法及系统 |
CN111309359A (zh) * | 2020-03-16 | 2020-06-19 | 深圳益邦物联科技有限公司 | 固件远程控制自动升级方法、电子设备及存储介质 |
CN111880817B (zh) * | 2020-07-27 | 2023-04-07 | 北京环境特性研究所 | 一种用于光电监控系统的远程烧写方法 |
CN112181467B (zh) * | 2020-10-10 | 2023-11-14 | 北京字节跳动网络技术有限公司 | 终端的存储器固件升级方法、装置、终端和存储介质 |
CN112540785A (zh) * | 2020-11-17 | 2021-03-23 | 中山市江波龙电子有限公司 | 一种存储装置的固件升级方法、控制设备及存储装置 |
CN112230967B (zh) * | 2020-11-19 | 2024-03-29 | 成都新易盛通信技术股份有限公司 | 一种基于传统分区的光模块固件可回退在线升级方法 |
CN112783531A (zh) * | 2021-01-29 | 2021-05-11 | 湖北三江航天红峰控制有限公司 | 一种fpga与dsp架构下以太网升级dsp程序方法 |
CN113821240B (zh) * | 2021-09-03 | 2023-11-17 | 锐捷网络股份有限公司 | 固件升级方法、电子设备、存储介质及信号锁存电路 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1584822A (zh) * | 2003-08-19 | 2005-02-23 | 联想(北京)有限公司 | 一种升级计算机固件程序的方法 |
GB2449193A (en) * | 2004-07-07 | 2008-11-12 | Dell Products Lp | Embedding optical drive compatibility information in optical media |
CN102098590A (zh) * | 2009-12-15 | 2011-06-15 | 中兴通讯股份有限公司 | 光网络单元固件版本自动升级方法及系统 |
CN102195798A (zh) * | 2010-03-16 | 2011-09-21 | 中兴通讯股份有限公司 | 一种升级光网络单元的方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950253B (zh) * | 2010-08-12 | 2013-03-13 | 深圳市共进电子股份有限公司 | 借助web网页接口升级光网络单元中光模块固件的方法 |
CN103248424A (zh) * | 2012-02-14 | 2013-08-14 | 深圳市卓翼科技股份有限公司 | 光模块固件升级方法及系统 |
-
2013
- 2013-10-10 CN CN201310469841.2A patent/CN104579719B/zh active Active
-
2014
- 2014-06-18 EP EP14852023.2A patent/EP3043512B1/en active Active
- 2014-06-18 WO PCT/CN2014/080222 patent/WO2015051647A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1584822A (zh) * | 2003-08-19 | 2005-02-23 | 联想(北京)有限公司 | 一种升级计算机固件程序的方法 |
GB2449193A (en) * | 2004-07-07 | 2008-11-12 | Dell Products Lp | Embedding optical drive compatibility information in optical media |
CN102098590A (zh) * | 2009-12-15 | 2011-06-15 | 中兴通讯股份有限公司 | 光网络单元固件版本自动升级方法及系统 |
CN102195798A (zh) * | 2010-03-16 | 2011-09-21 | 中兴通讯股份有限公司 | 一种升级光网络单元的方法和系统 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528186A (zh) * | 2015-09-09 | 2017-03-22 | 阿里巴巴集团控股有限公司 | 资源文件的更新方法和装置 |
WO2017063577A1 (zh) * | 2015-10-15 | 2017-04-20 | 中兴通讯股份有限公司 | 一种光模块的固件升级方法及装置 |
CN106598632A (zh) * | 2015-10-15 | 2017-04-26 | 中兴通讯股份有限公司 | 一种光模块的固件升级方法及装置 |
CN106598632B (zh) * | 2015-10-15 | 2022-02-18 | 中兴通讯股份有限公司 | 一种光模块的固件升级方法及装置 |
CN105847067A (zh) * | 2016-05-25 | 2016-08-10 | 北京小米移动软件有限公司 | Zigbee设备的升级方法和装置 |
WO2017201861A1 (zh) * | 2016-05-25 | 2017-11-30 | 北京小米移动软件有限公司 | Zigbee设备的升级方法和装置 |
US10324707B2 (en) | 2016-05-25 | 2019-06-18 | Beijing Xiaomi Mobile Software Co., Ltd. | Method, apparatus, and computer-readable storage medium for upgrading a ZigBee device |
CN106681766A (zh) * | 2016-12-26 | 2017-05-17 | 广东芬尼克兹节能设备有限公司 | 远程固件升级控制方法及系统 |
CN106843932A (zh) * | 2016-12-26 | 2017-06-13 | 歌尔科技有限公司 | 虚拟现实设备固件的升级方法及系统 |
CN106681766B (zh) * | 2016-12-26 | 2021-04-27 | 广东芬尼克兹节能设备有限公司 | 远程固件升级控制方法及系统 |
CN106843932B (zh) * | 2016-12-26 | 2020-07-24 | 歌尔科技有限公司 | 虚拟现实设备固件的升级方法及系统 |
CN108694054A (zh) * | 2017-04-10 | 2018-10-23 | 南昌欧菲生物识别技术有限公司 | 微处理器固件的升级方法及智能终端 |
CN107220091B (zh) * | 2017-06-08 | 2020-06-26 | 成都欧飞凌通讯技术有限公司 | 一种100g cfp主备映象文件的升级与切换方法 |
CN107220091A (zh) * | 2017-06-08 | 2017-09-29 | 成都欧飞凌通讯技术有限公司 | 一种100g cfp主备映象文件的升级与切换方法 |
CN108958765A (zh) * | 2018-06-12 | 2018-12-07 | 新华三技术有限公司 | 升级光模块固件的方法及装置 |
CN108958765B (zh) * | 2018-06-12 | 2022-12-09 | 新华三技术有限公司 | 升级光模块固件的方法及装置 |
CN108599861A (zh) * | 2018-07-27 | 2018-09-28 | 深圳市极致兴通科技有限公司 | 一种通用的有源光模块写码装置及设备 |
CN111367539A (zh) * | 2018-12-25 | 2020-07-03 | 北京兆易创新科技股份有限公司 | 一种eMMC在线升级方法和装置 |
CN110018854A (zh) * | 2019-03-26 | 2019-07-16 | 联想(北京)有限公司 | 一种固件匹配方法、设备和计算机可读存储介质 |
CN110442356A (zh) * | 2019-08-06 | 2019-11-12 | 东莞铭普光磁股份有限公司 | Dsp固件的升级方法及装置 |
CN111273930A (zh) * | 2020-01-21 | 2020-06-12 | 深圳市雷赛软件技术有限公司 | 固件升级控制方法、上位机及固件升级系统 |
CN114915345A (zh) * | 2021-01-29 | 2022-08-16 | 青岛海信宽带多媒体技术有限公司 | 一种光模块 |
CN114915345B (zh) * | 2021-01-29 | 2023-12-01 | 青岛海信宽带多媒体技术有限公司 | 一种光模块 |
Also Published As
Publication number | Publication date |
---|---|
WO2015051647A1 (zh) | 2015-04-16 |
CN104579719B (zh) | 2019-07-19 |
EP3043512A4 (en) | 2017-01-04 |
EP3043512A1 (en) | 2016-07-13 |
EP3043512B1 (en) | 2020-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104579719A (zh) | 一种固件的升级方法和系统、上位机和光模块 | |
KR102504172B1 (ko) | 소프트 코어 프로세서에 기초한 fpga 멀티-미러 업그레이드 로딩 방법 및 장치 | |
US9110843B2 (en) | Rack and method thereof for simultaneously updating basic input output systems | |
WO2017063577A1 (zh) | 一种光模块的固件升级方法及装置 | |
CN105354070B (zh) | 一种通过i2c升级设备固件的方法 | |
CN103777972A (zh) | 基于现场可编程门阵列的系统、配置方法以及升级方法 | |
CN105099706A (zh) | 一种数据通信方法、用户设备和服务器 | |
US20210081188A1 (en) | System and Method for Dynamically Determining Applicable Updates | |
US20120117557A1 (en) | Method and system for upgrading wireless data card | |
CN112947977B (zh) | 一种软件在线升级方法及系统 | |
CN106201563A (zh) | 启动参数的配置方法和装置、主板启动的方法和装置 | |
JP6225431B2 (ja) | マイクロプログラムを更新可能な光トランシーバ | |
CN106406936A (zh) | 一种fpga程序多版本管理装置及方法 | |
EP4044029A1 (en) | Daughter card initialization method, electronic apparatus, and storage medium | |
CN108108174A (zh) | 光模块及其固件升级的方法 | |
WO2020107436A1 (zh) | 程序的升级方法和嵌入式设备 | |
CN104239088A (zh) | 对分布式计算机网络的节点执行操作 | |
CN104144179B (zh) | Onu设备的升级系统及方法 | |
CN104461589A (zh) | 单片机升级方法及升级系统 | |
CN103676911A (zh) | 一种设备控制系统及控制方法 | |
CN105262604A (zh) | 虚拟机迁移方法及设备 | |
WO2020113382A1 (zh) | 硬件升级方法、装置、设备和存储介质 | |
CN114640584B (zh) | 模块升级方法和系统 | |
CN107908418B (zh) | 光纤通道节点卡的逻辑程序升级方法及光纤通道总线设备 | |
CN109697077B (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 |