CN106095480A - 一种光模块固件升级的方法及装置 - Google Patents
一种光模块固件升级的方法及装置 Download PDFInfo
- Publication number
- CN106095480A CN106095480A CN201610378049.XA CN201610378049A CN106095480A CN 106095480 A CN106095480 A CN 106095480A CN 201610378049 A CN201610378049 A CN 201610378049A CN 106095480 A CN106095480 A CN 106095480A
- Authority
- CN
- China
- Prior art keywords
- program
- optical module
- program area
- signature
- bootloader
- 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
Abstract
本发明公开了一种光模块固件升级的方法及装置,该方法包括虚拟Bootloader在光模块运行中通过获取BootFlag被置位的通知,然后读取程序签名标识值,若程序签名标识值为第一程序区的签名,则虚拟Bootloader将第二程序区擦除,并将固件升级代码写入擦除之后的第二程序区,跳转至第二程序区,运行第二程序区中的固件代码。通过使用虚拟Bootloader对光模块进行固件升级,实现在光模块固件升级的过程中可以保持通信业务,通过读取程序签名区的标识值,来确定当前正在运行的程序区,可以保证光模块在固件升级中始终能运行正常,避免因通信异常、外界突然断电等因素导致固件升级失败。
Description
技术领域
本发明实施例涉及光通信技术领域,尤其涉及一种光模块固件升级的方法及装置。
背景技术
光收发一体模块,简称光模块,是用于光通讯领域的设备中的一种标准模块。此模块一般作为光路由器等设备的一种标准配件。近年来,随着用户对带宽的要求越来越高,光纤到户的普及等,光模块市场突飞猛进。随着行业的发展,光模块越来越往智能化方向发展,内部带有一个单片机的光模块越来越多。光模块产品一般都支持系统在线升级功能,这种功能在确保不操作任何硬件器件的前提下,仅通过软件的办法进行光模块的版本更新和BUG修复,极大程度方便通信设备运营商的后台维护和管理,是光模块中非常重要的一个功能。
目前传统光模块产品固件升级方法为发送相关命令使光模块复位重启,复位后的光模块直接跳转到单片机内嵌的Bootloader(启动加载)区域,在Bootloader代码中将新的固件代码覆盖原有固件代码,当新固件完全更新完毕后跳转到应用程序区或复位单片机使其跳转到应用程序区。
此种方法在升级固件代码中,因涉及单片机的复位和跳转到Bootloader,会丢失光模块的部分状态和控制信息,例如DAC输出电压无法正常保持、GPIO口输出状态无法保持等,这种丢失使光模块无法正常工作,严重的会出现漏光,导致通信业务出现短暂中断。
发明内容
本发明实施例提供一种光模块固件升级的方法及装置,用以实现无需重启光模块,从而保持光模块通信业务不中断的情况下进行固件升级。
本发明实施例提供的一种光模块固件升级的方法,包括:
虚拟Bootloader在光模块运行中获取BootFlag(启动标识)被置位的通知,BootFlag被置位的通知中包括固件升级代码;
虚拟Bootloader读取程序签名标识值;
若程序签名标识值为第一程序区的签名,则虚拟Bootloader将第二程序区擦除,并将固件升级代码写入擦除之后的第二程序区,其中,第一程序区存储有当前控制光模块运行的固件代码,第一程序区和第二程序区位于光模块的存储空间内;
虚拟Bootloader跳转至第二程序区,运行第二程序区中的固件代码,通过第二程序区中的固件代码控制光模块的运行。
相应地,本发明实施例还提供了一种光模块固件升级的装置,包括:
获取单元,用于在光模块运行中获取启动标识BootFlag被置位的通知,BootFlag被置位的通知中包括固件升级代码;
读取单元,用于读取程序签名标识值;
处理单元,用于若程序签名标识值为第一程序区的签名,则将第二程序区擦除,并将固件升级代码写入擦除之后的第二程序区,其中,第一程序区存储有当前控制光模块运行的固件代码,第一程序区和第二程序区位于光模块的存储空间内;以及跳转至第二程序区,运行第二程序区中的固件代码,通过第二程序区中的固件代码控制光模块的运行。
本发明实施例表明,虚拟Bootloader在光模块运行中通过获取BootFlag被置位的通知,然后读取程序签名标识值,若程序签名标识值为第一程序区的签名,则虚拟Bootloader将第二程序区擦除,并将固件升级代码写入擦除之后的第二程序区,跳转至第二程序区,运行第二程序区中的固件代码,通过第二程序区中的固件代码控制光模块的运行。通过使用位于存储空间内的虚拟Bootloader对光模块进行固件升级,可以实现在光模块固件升级的过程中可以保持通信业务,在进行固件代码升级时,通过读取程序签名标识值,来确定当前正在运行的程序区,从而避开该正在运行的程序区,对没有运行的程序区进行固件升级,并在升级之后运行该升级之后的程序区中的固件代码,使得通过新的固件代码控制光模块的运行,在下一次固件升级时对另一个程序区进行升级。可以保证光模块在固件升级中始终能运行正常,避免因通信异常、外界突然断电等因素导致固件升级失败。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中提供的一种适用于光模块固件升级的系统架构;
图2为本发明实施例中提供的一种光模块上电的流程示意图;
图3为本发明实施例中提供的一种光模块的内核Bootloader运行的流程示意图;
图4为本发明实施例中提供的一种光模块固件升级的方法的流程示意图;
图5为本发明实施例中提供的一种光模块运行的流程示意图;
图6为本发明实施例中提供的一种光模块固件升级的流程示意图;
图7为本发明实施例中提供的一种光模块固件升级的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中,图1示出了适用于本发明实施例的光模块的架构,该光模块的微处理器中存在内核Bootloader区,以及设置在存储空间的虚拟Bootloader区(B1),程序签名区(B2),第一程序区(AA),第二程序区(BB),第三程序区(CC)。内核Bootloader区中存储有引导程序,该内核Bootloader区需要在光模块复位时通过特殊操作才可以进入,正常上电过程无法进入该内核Bootloader区。虚拟Bootloader区中存储有与内核Bootloader区中相同的引导程序,用于选择需要运行或者升级的程序区,并加载需要运行的程序区或对需要升级的程序区进行升级。程序签名区用于存储程序签名标识值,该程序签名标识值用于标识正在运行的程序区。第一程序区和第二程序区都存储有控制光模块运行的固件代码,第三程序区存储有光模块出厂时默认的控制光模块运行的固件代码,该第三程序区无法被擦写,被设置有写保护。
如图2所示,在光模块上电运行的具体步骤包括:
步骤201,上电。光模块上电,开始启动。
步骤202,判断是否需要进入内核Bootloader,若是,则转入步骤205,若否,则转入步骤203。若是初次光模块上电,此时,存储空间内各个区域为空白,需要进行特殊操作进入内核Bootloader,来运行内核Bootloader中的引导程序。
步骤203,进入虚拟Bootloader区域。
步骤204,进入虚拟Bootloader流程,运行虚拟Bootloader中的引导程序。
步骤205,进入内核Bootloader流程,运行内核Bootloader中的引导程序。
当光模块初始化阶段时,需要进入内核Bootloader区,运行内核Bootloader中的引导程序,模块上电后经过特殊操作强行进入内嵌的BootLoader区,因程序区的签名为空,故将虚拟BootLoader区对应的程序和控制光模块运行的程序分别下载至虚拟BootLoader区、第一程序区(AA区)或第二程序区(BB区)、第三程序区(CC块,厂家默认程序),并将程序区签名设置为“AA区的签名或BB区的签名”,最后跳转到AA去或BB区运行正常的应用程序。具体步骤如图3所示:
步骤2051,运行内核Bootloader中的引导程序。
步骤2052,下载虚拟Bootloader区对应的程序,并将该程序写入该虚拟Bootloader区中。
步骤2053,判断程序签名区的程序签名标识值是否为第一程序区的签名,若是,则转入步骤2054,否则,转入步骤2056。
步骤2054,下载第二程序区的固件代码,并写入第二程序区,在写入完成之后,将程序签名区的程序签名标识值设置为第二程序区的签名。
步骤2055,跳转到虚拟Bootloader区,运行引导程序,控制第一程序区或第二程序区中的程序运行。
步骤2056,下载第一程序区的固件代码,并写入第一程序区,在写入完成之后,将程序签名区的程序签名标识值设置为第一程序区的签名。
基于上述描述,在通过虚拟Bootloader控制第一程序区或第二程序区中的程序运行时,若收到固件升级的指令,则需要对光模块的固件进行升级。图4示出了本发明实施例提供的一种光模块固件升级的流程,该流程可以由光模块固件升级的装置执行,该装置可以位于光模块内的微处理器中,也可以是该微处理器。
如图4所示,该流程的具体步骤包括:
步骤401,虚拟Bootloader在光模块运行中获取BootFlag被置位的通知。
步骤402,虚拟Bootloader读取程序签名标识值。
步骤403,若程序签名标识值为第一程序区的签名,则虚拟Bootloader将第二程序区擦除,并将固件升级代码写入擦除之后的第二程序区;
步骤404,虚拟Bootloader跳转至第二程序区,运行第二程序区中的固件代码。
在本发明实施例中,若上述程序签名标识值为第二程序区的签名,则虚拟Bootloader将第一程序区擦除,并将固件升级代码写入擦除之后的第一程序区。
在本发明实施例中,该BootFlag被置位的通知中包括固件升级代码,用于对光模块中的固件进行升级。该BootFlag被置位的通知是在光模块接收到固件升级指令且将BootFlag置位之后获取的。该BootFlag被置位是指将BootFlag的值设置为1,将BootFlag的值设置为0,表示BootFlag被复位。虚拟Bootloader在光模块运行中获取BootFlag被置位的通知之后,还需要将BootFlag复位。该BootFlag的值的设置仅是示例作用,对此不做限制。上述程序签名标识值存储于光模块的存储空间内的程序签名区。
虚拟Bootloader读取程序签名区的程序签名标识值为第一程序区时,将第二程序区中的固件代码擦除,并将上述固件升级代码写入擦除之后的第二程序区,该第一程序区中存储有当前控制光模块运行的固件代码,此时在对第二程序区中的固件代码进行升级的过程中,第一程序区中的固件代码正在运行,正在控制光模块的运行,并不需要光模块停止运行就可以完成对应固件代码的升级。并且将在对第二程序区中的固件代码升级完成之后,虚拟Bootloader跳转到该升级完成的第二程序区,运行升级之后的固件代码,通过新的固件代码来控制光模块的运行,保证了固件升级过程中光模块运行不中断。
其中,在跳转到第二程序区之前,还需要将程序签名区的程序签名标识值修改为第二程序区的签名,以保证通过读取程序签名区的程序签名标识值来运行第二程序区的固件代码,即运行新的固件代码控制光模块的运行。
在对第二程序区中的固件代码升级完成之后,如果光模块重新上电,则虚拟Bootloader确定光模块开始上电且BootFlag未被置位,虚拟Bootloader读取所述程序签名标识值,此时程序签名标识值为第二程序区的签名,虚拟Bootloader启动该第二程序区存储的程序,以控制光模块的运行,该第二程序区存储有升级之后控制光模块运行的固件代码。
为了更好的解释本发明实施例,下面将在具体的实施场景下,描述本发明实施例中光模块固件升级的流程。
在本发明实施例中,如图5所示的虚拟Bootloader运行的流程图,该流程具体步骤包括:
步骤501,光模块开始上电。
步骤502,虚拟Bootloader判断BootFlag是否等于0,若是则转入步骤503,若否在转入步骤509。
步骤503,判断程序签名区的标识值是否为AA区程序签名,若是,则转入步骤504,若否,则转入步骤505。
步骤504,跳转到AA区运行AA区中的程序。
步骤505,判断程序签名区的标识值是否为BB区程序签名,若是,则转入步骤506,若否,则转入步骤507。
步骤506,跳转到BB区运行BB区中的程序。
步骤507,跳转到CC区运行CC区中的程序。
步骤508,运行程序控制光模块的运行,在光模块的运行过程中,若收到需要固件升级的指令,则将BootFlag置位,并跳转到步骤502。
步骤509,进入固件升级流程。
光模块固件升级的流程具体如图6所示的光模块固件升级的流程图,该流程具体包括:
步骤601,获取固件升级指令,该固件升级指令中包括有固件升级代码。
步骤602,将BootFlag置位,比如将BootFlag的值设置为1。
步骤603,跳转到虚拟Bootloader区,虚拟Bootloader运行引导程序。
步骤604,虚拟Bootloader判断BootFlag的值是否为1。若是则转入步骤605,若否,则转入步骤611。
步骤605,虚拟Bootloader将BootFlag复位,比如将BootFlag的值设置为0。
步骤606,判断程序签名区的程序签名标识值是否为AA区的签名,若是,则转入步骤607,若否,则转入步骤609。
步骤607,擦除BB区中的固件代码,在BB区写入固件升级代码,并将程序签名区中的程序签名标识值设置为BB区的签名。
步骤608,跳转到BB区,运行BB区中升级之后的固件代码。
步骤609,擦除AA区中的固件代码,在AA区写入固件升级代码,并将程序签名区中的程序签名标识值设置为AA区的签名。
步骤610,跳转到AA区,运行AA区中升级之后的固件代码。
步骤611,判断程序签名区的程序签名标识值是否为AA区的签名,若是,则转入步骤612,若否,则转入步骤613。
步骤612,跳转到AA区,运行AA区中升级之后的固件代码。
步骤613,判断程序签名区的程序签名标识值是否为BB区的签名,若是,则转入步骤614,若否,则转入步骤615。
步骤614,跳转到BB区,运行BB区中升级之后的固件代码。
步骤615,跳转到CC区,运行CC区中升级之后的固件代码。
上述发明实施例表明,虚拟Bootloader在光模块运行中通过获取BootFlag被置位的通知,然后读取程序签名标识值,若程序签名标识值为第一程序区的签名,则虚拟Bootloader将第二程序区擦除,并将固件升级代码写入擦除之后的第二程序区,跳转至第二程序区,运行第二程序区中的固件代码,通过第二程序区中的固件代码控制光模块的运行。通过使用位于存储空间内的虚拟Bootloader对光模块进行固件升级,可以实现在光模块固件升级的过程中可以保持通信业务,在进行固件代码升级时,通过读取程序签名区的标识值,来确定当前正在运行的程序区,从而避开该正在运行的程序区,对没有运行的程序区进行固件升级,并在升级之后运行该升级之后的程序区中的固件代码,使得通过新的固件代码控制光模块的运行,在下一次固件升级时对另一个程序区进行升级。可以保证光模块在固件升级中始终能运行正常,避免因通信异常、外界突然断电等因素导致固件升级失败。
基于相同的技术构思,图7示出了本发明实施例提供的一种光模块固件升级的装置的结构,该装置可以执行光模块固件升级的流程,该装置可以是光模块内的微处理器,该装置也可以位于所述微处理器内。
如图7所示,该装置具体包括包括:
获取单元701,用于在光模块运行中获取BootFlag被置位的通知,所述BootFlag被置位的通知中包括固件升级代码;
读取单元702,用于读取程序签名标识值;
处理单元703,用于若所述程序签名标识值为第一程序区的签名,则将第二程序区擦除,并将所述固件升级代码写入所述擦除之后的第二程序区,其中,所述第一程序区存储有当前控制光模块运行的固件代码,所述第一程序区和所述第二程序区位于所述光模块的存储空间内;以及跳转至所述第二程序区,运行所述第二程序区中的固件代码,通过所述第二程序区中的固件代码控制光模块的运行。
优选地,所述处理单元703还用于:
在跳转至所述第二程序区之前,将所述程序签名标识值修改为第二程序区的签名。
优选地,所述BootFlag被置位的通知是在所述光模块接收到光模块固件升级指令且将所述BootFlag置位之后获取的。
优选地,还包括:复位单元(未示出),用于在获取BootFlag被置位的通知之后,将所述BootFlag复位。
优选地,所述处理单元703还用于:
确定所述光模块开始上电且所述BootFlag未被置位,则通知所述读取单元读取所述程序签名标识值;若所述程序签名标识值为第二程序区的签名,则启动所述第二程序区存储的固件代码,以控制所述光模块的运行,所述第二程序区存储有控制所述光模块运行的固件代码,所述程序签名标识值存储于所述光模块的存储空间内的程序签名区。
优选地,所述光模块还包括内核Bootloader以及位于所述光模块的存储空间内的虚拟Bootloader区和第三程序区;
所述处理单元703还用于:
在所述光模块初始化时,分别将虚拟Bootloader区的程序、第一程序区的固件代码、第三程序区的固件代码写入所述虚拟Bootloader区、所述第一程序区、所述第三程序区,并将所述程序签名标识值设置为第一程序区的签名,其中,所述第三程序区为默认的控制光模块运行的固件代码。
优选地,所述处理单元703还用于:
在所述程序签名标识值为空时,启动所述第三程序区存储的固件代码,以控制所述光模块的运行。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种光模块固件升级的方法,其特征在于,包括:
虚拟Bootloader在光模块运行中获取启动标识BootFlag被置位的通知,所述BootFlag被置位的通知中包括固件升级代码;
所述虚拟Bootloader读取程序签名标识值;
若所述程序签名标识值为第一程序区的签名,则所述虚拟Bootloader将第二程序区擦除,并将所述固件升级代码写入所述擦除之后的第二程序区,其中,所述第一程序区存储有当前控制光模块运行的固件代码,所述第一程序区和所述第二程序区位于所述光模块的存储空间内;
所述虚拟Bootloader跳转至所述第二程序区,运行所述第二程序区中的固件代码,通过所述第二程序区中的固件代码控制光模块的运行。
2.如权利要求1所述的方法,其特征在于,在所述虚拟Bootloader跳转至所述第二程序区之前,还包括:
所述虚拟Bootloader将所述程序签名标识值修改为第二程序区的签名。
3.如权利要求1所述的方法,其特征在于,所述BootFlag被置位的通知是在所述光模块接收到光模块固件升级指令且将所述BootFlag置位之后获取的。
4.如权利要求1至3任一项所述的方法,其特征在于,还包括:
所述虚拟Bootloader确定所述光模块开始上电且所述BootFlag未被置位,则所述虚拟Bootloader读取所述程序签名标识值;若所述程序签名标识值为第二程序区的签名,则所述虚拟Bootloader启动所述第二程序区存储的固件代码,以控制所述光模块的运行,所述第二程序区存储有控制所述光模块运行的固件代码,所述程序签名标识值存储于所述光模块的存储空间内的程序签名区。
5.如权利要求1至3任一项所述的方法,其特征在于,所述光模块还包括内核Bootloader以及位于所述光模块的存储空间内的虚拟Bootloader区和第三程序区;
所述方法还包括:
在所述光模块初始化时,所述内核Bootloader分别将虚拟Bootloader区的程序、第一程序区的固件代码、第三程序区的固件代码写入所述虚拟Bootloader区、所述第一程序区、所述第三程序区,并将所述程序签名标识值设置为第一程序区的签名,其中,所述第三程序区为默认的控制光模块运行的固件代码。
6.一种光模块固件升级的装置,其特征在于,包括:
获取单元,用于在光模块运行中获取启动标识BootFlag被置位的通知,所述BootFlag被置位的通知中包括固件升级代码;
读取单元,用于读取程序签名标识值;
处理单元,用于若所述程序签名标识值为第一程序区的签名,则将第二程序区擦除,并将所述固件升级代码写入所述擦除之后的第二程序区,其中,所述第一程序区存储有当前控制光模块运行的固件代码,所述第一程序区和所述第二程序区位于所述光模块的存储空间内;以及跳转至所述第二程序区,运行所述第二程序区中的固件代码,通过所述第二程序区中的固件代码控制光模块的运行。
7.如权利要求6所述的装置,其特征在于,所述处理单元还用于:
在跳转至所述第二程序区之前,将所述程序签名标识值修改为第二程序区的签名。
8.如权利要求8所述的装置,其特征在于,所述BootFlag被置位的通知是在所述光模块接收到光模块固件升级指令且将所述BootFlag置位之后获取的。
9.如权利要求6至8任一项所述的装置,其特征在于,所述处理单元还用于:
确定所述光模块开始上电且所述BootFlag未被置位,则通知所述读取单元读取所述程序签名标识值;若所述程序签名标识值为第二程序区的签名,则启动所述第二程序区存储的程序,以控制所述光模块的运行,所述第二程序区存储有控制所述光模块运行的程序,所述程序签名标识值存储于所述光模块的存储空间内的程序签名区。
10.如权利要求6至8任一项所述的装置,其特征在于,所述光模块还包括内核Bootloader以及位于所述光模块的存储空间内的虚拟Bootloader区和第三程序区;
所述处理单元还用于:
在所述光模块初始化时,分别将虚拟Bootloader区的程序、第一程序区的固件代码、第三程序区的固件代码写入所述虚拟Bootloader区、所述第一程序区、所述第三程序区,并将所述程序签名标识值设置为第一程序区的签名,其中,所述第三程序区为默认的控制光模块运行的固件代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610378049.XA CN106095480B (zh) | 2016-05-31 | 2016-05-31 | 一种光模块固件升级的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610378049.XA CN106095480B (zh) | 2016-05-31 | 2016-05-31 | 一种光模块固件升级的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095480A true CN106095480A (zh) | 2016-11-09 |
CN106095480B CN106095480B (zh) | 2019-09-17 |
Family
ID=57229706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610378049.XA Active CN106095480B (zh) | 2016-05-31 | 2016-05-31 | 一种光模块固件升级的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106095480B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108174A (zh) * | 2016-11-24 | 2018-06-01 | 青岛海信宽带多媒体技术有限公司 | 光模块及其固件升级的方法 |
CN108270596A (zh) * | 2016-12-30 | 2018-07-10 | 芯讯通无线科技(上海)有限公司 | 嵌入式无线通信模块的升级方法 |
CN108874452A (zh) * | 2018-06-05 | 2018-11-23 | 深圳市锐钜科技有限公司 | 一种不中断控制系统运行的嵌入式软件Bootloader方法 |
CN109002310A (zh) * | 2018-08-07 | 2018-12-14 | 北京云迹科技有限公司 | 固件升级方法 |
CN109189457A (zh) * | 2018-11-05 | 2019-01-11 | 北京原子机器人科技有限公司 | 智能惯导传感系统的固件升级系统及方法 |
CN109358910A (zh) * | 2018-09-05 | 2019-02-19 | 广州小鹏汽车科技有限公司 | 固件写入、启动方法及用于实现固件写入、启动的系统 |
CN109992289A (zh) * | 2017-12-29 | 2019-07-09 | 深圳市优必选科技有限公司 | 传感器固件升级方法、装置及设备 |
CN110609695A (zh) * | 2019-09-17 | 2019-12-24 | 青岛海信宽带多媒体技术有限公司 | 一种光模块的固件升级方法,系统及光模块 |
CN110618825A (zh) * | 2019-08-02 | 2019-12-27 | 惠州市德赛西威汽车电子股份有限公司 | 一种车机Boot Loader的自更新方法 |
CN112230967A (zh) * | 2020-11-19 | 2021-01-15 | 成都新易盛通信技术股份有限公司 | 一种基于传统分区的光模块固件可回退在线升级方法 |
WO2021120327A1 (zh) * | 2019-12-19 | 2021-06-24 | 歌尔股份有限公司 | 一种固件更新方法、装置、耳机及计算机可读存储介质 |
CN113094067A (zh) * | 2021-03-30 | 2021-07-09 | 国核自仪系统工程有限公司 | Io模块的固件更新方法及io模块 |
CN113377392A (zh) * | 2020-03-09 | 2021-09-10 | 瑞昱半导体股份有限公司 | 可后台升级固件的系统及后台升级固件方法 |
CN113641378A (zh) * | 2021-07-13 | 2021-11-12 | 烽火通信科技股份有限公司 | 光模块程序升级方法、装置、设备及可读存储介质 |
CN114466260A (zh) * | 2020-11-10 | 2022-05-10 | 青岛海信宽带多媒体技术有限公司 | 一种光模块升级方法及光模块 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826027A (zh) * | 2010-05-28 | 2010-09-08 | 深圳市融创天下科技发展有限公司 | 一种嵌入式系统及其升级方法 |
CN103248424A (zh) * | 2012-02-14 | 2013-08-14 | 深圳市卓翼科技股份有限公司 | 光模块固件升级方法及系统 |
US20140105601A1 (en) * | 2012-10-15 | 2014-04-17 | Sumitomo Electric Industries, Ltd. | Optical module used in optical communication systems, method of updating firmware of optical module used in optical communication systems, and trouble tracing system |
CN104391726A (zh) * | 2014-12-12 | 2015-03-04 | 四川华拓光通信股份有限公司 | 一种基于Bootloader的SFP光模块升级方法 |
CN104503804A (zh) * | 2014-12-31 | 2015-04-08 | 天津市通卡公用网络系统有限公司 | 一种在线更新单片机程序的方法 |
-
2016
- 2016-05-31 CN CN201610378049.XA patent/CN106095480B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826027A (zh) * | 2010-05-28 | 2010-09-08 | 深圳市融创天下科技发展有限公司 | 一种嵌入式系统及其升级方法 |
CN103248424A (zh) * | 2012-02-14 | 2013-08-14 | 深圳市卓翼科技股份有限公司 | 光模块固件升级方法及系统 |
US20140105601A1 (en) * | 2012-10-15 | 2014-04-17 | Sumitomo Electric Industries, Ltd. | Optical module used in optical communication systems, method of updating firmware of optical module used in optical communication systems, and trouble tracing system |
CN104391726A (zh) * | 2014-12-12 | 2015-03-04 | 四川华拓光通信股份有限公司 | 一种基于Bootloader的SFP光模块升级方法 |
CN104503804A (zh) * | 2014-12-31 | 2015-04-08 | 天津市通卡公用网络系统有限公司 | 一种在线更新单片机程序的方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108174A (zh) * | 2016-11-24 | 2018-06-01 | 青岛海信宽带多媒体技术有限公司 | 光模块及其固件升级的方法 |
CN108270596A (zh) * | 2016-12-30 | 2018-07-10 | 芯讯通无线科技(上海)有限公司 | 嵌入式无线通信模块的升级方法 |
CN109992289A (zh) * | 2017-12-29 | 2019-07-09 | 深圳市优必选科技有限公司 | 传感器固件升级方法、装置及设备 |
CN108874452A (zh) * | 2018-06-05 | 2018-11-23 | 深圳市锐钜科技有限公司 | 一种不中断控制系统运行的嵌入式软件Bootloader方法 |
CN109002310A (zh) * | 2018-08-07 | 2018-12-14 | 北京云迹科技有限公司 | 固件升级方法 |
CN109358910A (zh) * | 2018-09-05 | 2019-02-19 | 广州小鹏汽车科技有限公司 | 固件写入、启动方法及用于实现固件写入、启动的系统 |
CN109189457B (zh) * | 2018-11-05 | 2021-06-22 | 北京原子机器人科技有限公司 | 智能惯导传感系统的固件升级系统及方法 |
CN109189457A (zh) * | 2018-11-05 | 2019-01-11 | 北京原子机器人科技有限公司 | 智能惯导传感系统的固件升级系统及方法 |
CN110618825A (zh) * | 2019-08-02 | 2019-12-27 | 惠州市德赛西威汽车电子股份有限公司 | 一种车机Boot Loader的自更新方法 |
CN110609695A (zh) * | 2019-09-17 | 2019-12-24 | 青岛海信宽带多媒体技术有限公司 | 一种光模块的固件升级方法,系统及光模块 |
WO2021120327A1 (zh) * | 2019-12-19 | 2021-06-24 | 歌尔股份有限公司 | 一种固件更新方法、装置、耳机及计算机可读存储介质 |
CN113377392A (zh) * | 2020-03-09 | 2021-09-10 | 瑞昱半导体股份有限公司 | 可后台升级固件的系统及后台升级固件方法 |
CN113377392B (zh) * | 2020-03-09 | 2024-03-29 | 瑞昱半导体股份有限公司 | 可后台升级固件的系统及后台升级固件方法 |
CN114466260A (zh) * | 2020-11-10 | 2022-05-10 | 青岛海信宽带多媒体技术有限公司 | 一种光模块升级方法及光模块 |
CN114466260B (zh) * | 2020-11-10 | 2023-11-03 | 青岛海信宽带多媒体技术有限公司 | 一种光模块升级方法及光模块 |
CN112230967A (zh) * | 2020-11-19 | 2021-01-15 | 成都新易盛通信技术股份有限公司 | 一种基于传统分区的光模块固件可回退在线升级方法 |
CN112230967B (zh) * | 2020-11-19 | 2024-03-29 | 成都新易盛通信技术股份有限公司 | 一种基于传统分区的光模块固件可回退在线升级方法 |
CN113094067A (zh) * | 2021-03-30 | 2021-07-09 | 国核自仪系统工程有限公司 | Io模块的固件更新方法及io模块 |
CN113641378A (zh) * | 2021-07-13 | 2021-11-12 | 烽火通信科技股份有限公司 | 光模块程序升级方法、装置、设备及可读存储介质 |
CN113641378B (zh) * | 2021-07-13 | 2024-01-26 | 烽火通信科技股份有限公司 | 光模块程序升级方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106095480B (zh) | 2019-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106095480A (zh) | 一种光模块固件升级的方法及装置 | |
US7991988B2 (en) | Communication device and firmware update method thereof | |
CN102830984B (zh) | 固件更新的方法、芯片以及通信终端 | |
CN101876940B (zh) | 一种自动化测试方法和装置 | |
CN103207797B (zh) | 基于通用可扩展固件接口固件系统的胶囊式定制更新方法 | |
CN104850762B (zh) | 防止计算机的动作不良的方法、计算机程序以及计算机 | |
CN106610840A (zh) | 一种无线固件升级方法及系统 | |
CN103019775A (zh) | 一种终端设备刷机的方法、装置和设备 | |
KR20120052406A (ko) | 펌웨어 이미지 갱신 및 관리 | |
CN101344854A (zh) | 通过SD卡对嵌入式Linux设备进行升级的方法 | |
CN103761088A (zh) | 一种适用于arm架构移动设备的多操作系统切换方法 | |
CN103853586A (zh) | 一种在uefi层实现无线网卡驱动的方法 | |
CN109358887A (zh) | 一种单片机程序的在线升级方法、装置及系统 | |
CN104090788B (zh) | 一种基于载荷的星载软件配置和运行方法及系统 | |
CN110753088B (zh) | 一种系统部署方法及装置 | |
CN103905631B (zh) | 移动终端及其modem及linux芯片统一下载的方法 | |
CN103577201A (zh) | 嵌入式双系统的更新方法及系统 | |
CN103365682A (zh) | 信息处理设备和信息处理方法 | |
CN106331862A (zh) | 一种机顶盒的软件升级方法及机顶盒 | |
KR20200090010A (ko) | 펌웨어 업데이트 방법, 이를 위한 전자 장치 및 저장 매체 | |
CN104536841A (zh) | 一种Android系统Data分区自修复方法及系统 | |
CN102662688A (zh) | 一种Nor flash更新方法及装置 | |
CN103077056B (zh) | 使用少量ROM资源的Bootlorder实现方法 | |
CN114127685B (zh) | 电子设备及其控制方法 | |
CN116431186A (zh) | 一种车载ecu的升级方法、装置及介质 |
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 |