CN118151977B - 控制器芯片的固件升级方法及系统 - Google Patents
控制器芯片的固件升级方法及系统 Download PDFInfo
- Publication number
- CN118151977B CN118151977B CN202410586222.XA CN202410586222A CN118151977B CN 118151977 B CN118151977 B CN 118151977B CN 202410586222 A CN202410586222 A CN 202410586222A CN 118151977 B CN118151977 B CN 118151977B
- Authority
- CN
- China
- Prior art keywords
- controller chip
- data
- firmware
- verification
- firmware upgrading
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000012795 verification Methods 0.000 claims abstract description 73
- 238000013496 data integrity verification Methods 0.000 claims abstract description 23
- 230000005540 biological transmission Effects 0.000 claims abstract description 10
- 238000004891 communication Methods 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 10
- 230000000875 corresponding effect Effects 0.000 description 21
- 238000004590 computer program Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
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
技术领域
本申请涉及固件升级技术领域,尤其涉及控制器芯片的固件升级方法及系统。
背景技术
所谓固件在线升级,通常是对设备中控制器芯片的主程序的在线升级。通过运行引导加载程序(Bootloader/upgrader),将控制器芯片内的主程序更新升级为新版的固件,以实现新的功能或者修复设计缺陷。
但在设备的现场应用中,固件升级过程中可能会出现断电、出现错误等异常情况。如果固件升级时无法处理得当,则容易导致控制器无法重新升级,严重时可能导致无法正常运行,只能返厂维修,严重损害了客户利益。
上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
发明内容
本申请的主要目的在于提供一种控制器芯片的固件升级方法及系统,旨在解决现有的固件升级方法处理不得当时容易导致无法运行的技术问题。
为实现上述目的,本申请提出一种控制器芯片的固件升级方法,所述控制器芯片的固件升级方法包括:
获取所述控制器芯片的引导加载程序信息,并根据所述引导加载程序信息下发相应的固件升级数据至所述控制器芯片;
在接收到所述控制器芯片返回的数据接收完成信息时,对所述控制器芯片的存储区域中保存的所述固件升级数据进行数据完整性验证;
确定所述存储区域中连续区块的区块信息,并将所述区块信息发送至所述控制器芯片以进行烧录验证;
在所述数据完整性验证和所述烧录验证通过时,向所述控制器芯片发送重启指令以完成所述控制器芯片的固件升级。
可选地,所述确定所述存储区域中连续区块的区块信息,并将所述区块信息发送至所述控制器芯片以进行烧录验证的步骤,包括:
根据从低到高的地址顺序对所述存储区域中进行区块识别,以确定所述存储区域中的连续区块;
读取所述连续区块的区块数据,并根据所述区块数据确定校验和;
获取所述区块的区块参数,并将所述区块参数和所述校验和作为所述连续区块的区块信息发送至所述控制器芯片进行烧录验证。
可选地,所述对所述控制器芯片的存储区域中保存的所述固件升级数据进行数据完整性验证的步骤,包括:
确定所述控制器芯片的芯片类型,根据所述芯片类型确定所述固件升级数据的校验位置;
在所述控制器芯片的存储区域保存的固件升级数据中确定所述校验位置处的待校验数据;
若所述待校验数据为预设数据,则所述固件升级数据的数据完整性通过;
若所述待校验数据不为预设数据,则所述固件升级数据的数据完整性不通过。
可选地,所述获取所述控制器芯片的引导加载程序信息,并根据所述引导加载程序信息下发相应的固件升级数据至所述控制器芯片的步骤之前,还包括:
通过固件升级接口向通讯链路发送切换指令;所述切换指令中携带有控制器芯片识别标识;
在存在控制器芯片响应所述控制器芯片时,向所述控制器芯片发送握手指令,以使所述控制器芯片基于所述握手指令进行握手;
在所述握手通过时,建立与所述控制器芯片的连接关系。
可选地,所述根据所述引导加载程序信息下发相应的固件升级数据至所述控制器芯片的步骤,包括:
根据所述引导加载程序信息确定相应的固件升级数据;
向所述控制器芯片发送密钥更新指令;所述密钥更新指令中包括更新后的密钥;
将所述固件升级数据下发至所述控制器芯片,并在下发时通过所述更新后的密钥对所述固件升级数据进行加密,以使所述固件升级数据以加密数据包的形式进行下发;
在所述加密数据包的发送数量达到预设数量时,若所述固件升级数据未发送完成,返回至所述向所述控制器芯片发送密钥更新指令的步骤,以更换密钥。
此外,为实现上述目的,本申请还提出了另一种控制器芯片的固件升级方法,所述方法应用于控制器芯片,所述控制器芯片与上位机连接,所述方法包括:
在线升级模式下,响应于上位机的引导加载程序信息获取指令,将引导加载程序信息发送至所述上位机;
接收所述上位机基于所述引导加载程序信息发送的固件升级数据,并将所述固件升级数据写入存储区域;
获取所述上位机基于写入所述固件升级数据后的存储区域生成的区块信息,对所述区块信息进行烧录验证;
响应于所述上位机在所述烧录验证和完整性验证通过时发送的重启指令,进行重启以完成固件升级。
可选地,所述响应于上位机的引导加载程序信息获取指令,将引导加载程序信息发送至所述上位机的步骤之前,还包括:
对固件主程序进行完整性判断;
若所述完整性判断不通过,则进行初始化并进入在线升级模式。
可选地,所述对固件主程序进行完整性判断的步骤之后,还包括:
若所述完整性判断通过,则运行所述固件主程序;
在所述固件主程序运行时,若接收到切换指令,获取所述切换指令中的控制器芯片识别标识;
对所述控制器芯片识别标识进行验证,在验证通过时,对发送所述切换指令的上位机进行响应并停止运行所述固件主程序以切换至在线升级模式。
可选地,所述对所述控制器芯片识别标识进行验证的步骤之后,还包括:
若验证不通过,则将所述切换指令转发至其他控制器芯片。
此外,为实现上述目的,本申请还提出一种控制器芯片的固件升级设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上文所述的控制器芯片的固件升级方法的步骤。
此外,为实现上述目的,本申请还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的控制器芯片的固件升级方法的步骤。
此外,为实现上述目的,本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上文所述的控制器芯片的固件升级方法的步骤。
本申请提出的一个或多个技术方案,至少具有以下技术效果:
本申请实施例通过获取控制器芯片的引导加载程序信息,并根据引导加载程序信息下发相应的固件升级数据至控制器芯片;在接收到控制器芯片返回的数据接收完成信息时,对控制器芯片的存储区域中保存的固件升级数据进行数据完整性验证;确定存储区域中连续区块的区块信息,并将区块信息发送至控制器芯片以进行烧录验证;在数据完整性验证和烧录验证通过时,向控制器芯片发送重启指令以完成控制器芯片的固件升级。通过对控制器芯片的存储区域中接收到的固件升级数据进行数据完整性校验,保证了固件升级数据的完整性,提高了数据的准确性;通过确定存储区域中连续区块的区块信息,使得控制器芯片可以根据该区块信息进行烧录验证,避免了数据传输过程中导致的错误。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请控制器芯片的固件升级方法实施例一提供的流程示意图;
图2为本申请控制器芯片的固件升级方法实施例二提供的流程示意图;
图3为本申请控制器芯片的固件升级方法的多设备升级机制示意图;
图4为本申请控制芯片的固件升级方法一种实现场景中的工作流程示意图;
图5为本申请实施例中控制器芯片的固件升级方法涉及的硬件运行环境的设备结构示意图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请的技术方案,并不用于限定本申请。
为了更好的理解本申请的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。
本申请的方法主要包括两个方面,一方面应用于上位机,一方面应用于控制芯片。
在上位机,本申请实施例的主要解决方案是:获取控制器芯片的引导加载程序信息,并根据引导加载程序信息下发相应的固件升级数据至控制器芯片;在接收到控制器芯片返回的数据接收完成信息时,对控制器芯片的存储区域中保存的固件升级数据进行数据完整性验证;确定存储区域中连续区块的区块信息,并将区块信息发送至控制器芯片以进行烧录验证;在数据完整性验证和烧录验证通过时,向控制器芯片发送重启指令以完成控制器芯片的固件升级。
在控制芯片,本申请实施例的主要解决方案是:在线升级模式下,响应于上位机的引导加载程序信息获取指令,将引导加载程序信息发送至上位机;接收上位机基于引导加载程序信息发送的固件升级数据,并将固件升级数据写入存储区域;获取上位机基于写入固件升级数据后的存储区域生成的区块信息,对区块信息进行烧录验证;响应于上位机在烧录验证和完整性验证通过时发送的重启指令,进行重启以完成固件升级。
目前现有技术在进行固件升级时,需要先将存储区域中保存的部分或者全部原有固件数据擦除,再将固件升级数据写入至存储区域,从而完成对控制器芯片的固件升级。但这种方式在现场实施时,容易由于断电等意外情况,导致固件数据不完整而无法运行主程序,只能进行返厂维修处理。
本申请中,上位机通过在固件升级数据烧录完成时分别对控制器芯片的存储区域中的固件升级数据进行区块完整性校验以及确定存储区域中连续区块的区块信息以使控制器芯片进行烧录校验,从而确定下发的固件升级数据准确、完整、无误,提高了固件升级的效率。同时,本申请通过控制器芯片识别标识对通讯链路上的控制器芯片进行区分,从而实现可以同时对设备内的多个控制器芯片进行烧录。此外,控制器芯片在启动时,首先对校验位置处的预设数据进行校验,从而判断主程序的完整性,在主程序不完整时则直接进入在线升级模式,避免启动不完整的主程序导致设备损害。
需要说明的是,本实施例的执行主体可以是一种具有数据处理、通信以及程序运行功能的计算服务设备,例如平板电脑、个人电脑、手机等,或者是一种能够实现上述功能的电子设备、云服务器等。以下以上位机为例,对本实施例及下述各实施例进行说明。
基于此,本申请实施例提供了一种控制器芯片的固件升级方法,参照图1,图1为本申请控制器芯片的固件升级方法第一实施例的流程示意图。
本实施例中,所述控制器芯片的固件升级方法应用于上位机,包括步骤S10~S40:
步骤S10,获取所述控制器芯片的引导加载程序信息,并根据所述引导加载程序信息下发相应的固件升级数据至所述控制器芯片。
可以理解的是,在嵌入式产品的控制器芯片中,其固件(Firmware)通常可以包括两个部分:其中一个为主程序,也即实现产品规格所定义的功能的程序。通常而言,这部分代码可以烧录于芯片内部的存储区域中,例如Flash、随机访问存储器(RAM:Random AccessMemory)、只读存储器(ROM:Read Only Memory)等。另一个则为引导加载程序,也即在控制器芯片启动时对程序完整性进行检查、执行主程序升级操作等功能的程序。
应当理解的是,引导加载程序信息也即引导加载程序在运行中所产生的信息,通过对引导加载程序信息进行分析,可以实现系统维护、故障排查等功能。
需要说明的是,对于不同版本的引导加载程序,其对应的能够处理的固件升级数据可能会不同。因此,本申请通过根据引导加载程序信息可以确定不同版本的引导加载程序,进而将相应的固件升级数据下发至控制器芯片,从而提高了本申请的应用范围。
在具体实现中,上位机可以获取控制器芯片的引导加载程序信息,并根据引导加载程序信息下发相应的固件升级数据至控制器芯片,进而进行固件升级。
步骤S20,在接收到所述控制器芯片返回的数据接收完成信息时,对所述控制器芯片的存储区域中保存的所述固件升级数据进行数据完整性验证。
需要说明的是,在控制器芯片已经接收完成全部的固件升级数据时,可以向上位机发送相应的数据接收完成信息。上位机接收到控制器芯片返回的数据接收完成信息时,即可向控制器芯片发送读取存储区域的检查存储命令。控制器芯片可以对该检查存储命令进行响应,以使上位机可以对控制器芯片中的固件升级数据进行数据完整性验证和烧录验证。
应当理解的是,数据完整性验证也即对保存至控制器芯片的存储区域中的固件升级数据进行完整性校验。在实际应用中,上位机在发送固件升级数据时,可以将特定的预设数据写入至存储区域的特定位置,例如校验和或者其他固定的数据,可以根据实际应用进行选择,本申请实施例对此不加以限制。
需要说明的是,由于对于不同的控制器芯片,其对于数据的读取方式不同,因此需要根据不同的控制器芯片类型确定预设数据的写入位置。例如,对于一种芯片,其DSP程序入口固定在存储区域的末尾部分,不同DSP的存储区域往低地址扩展,高地址固定,对于该类芯片应当在存储区域的最后位置写入预设数据。对于另一种芯片,可以在存储区域的初始位置写入预设数据,因为其程序入口固定在存储区域的起始部分,且存储区域是往高地址扩展的。
可以理解的是,基于不同的控制器芯片类型可以确定待校验数据的写入位置,使得控制器芯片在主程序启动时,可以根据该预设数据检查固件数据是否完整。
应当理解的是,上位机通过对校验位置的待校验数据进行检测,若为预设数据则可以说明控制器芯片接收到的固件升级数据完整;若否,则说明接收到的固件升级数据并不完整。
具体地,所述对所述控制器芯片的存储区域中保存的所述固件升级数据进行数据完整性验证的步骤,包括:
确定所述控制器芯片的芯片类型,根据所述芯片类型确定所述固件升级数据的校验位置;
在所述控制器芯片的存储区域保存的固件升级数据中确定所述校验位置处的待校验数据;
若所述待校验数据为预设数据,则所述固件升级数据的数据完整性通过;
若所述待校验数据不为预设数据,则所述固件升级数据的数据完整性不通过。
在本申请实施例的一种实现方式中,本申请的预设数据不与固件升级数据一起进行发送。具体地,上位机可以先将固件升级数据烧录至控制器芯片的存储区域中,若存储区域支持读取校验,则向控制器芯片发送检查存储命令,并在控制器芯片响应时,对存储区域中的固件升级数据进行数据完整性校验。
可以理解的是,在该实施方式中,预设数据需要在存储区域读取并校验完成时才能烧录,在这之间不能下发其所在区块的烧录数据。
在具体实现中,上位机可以在接收到控制器芯片返回的数据接收完成信息时,向控制器芯片发送检查存储命令。在控制器芯片响应该检查存储命令时,对控制器芯片的存储区域中保存的固件升级数据进行完整性校验,可以确保固件升级数据在传输过程中没有被修改或损坏,提高了固件升级的效率。
步骤S30,确定所述存储区域中连续区块的区块信息,并将所述区块信息发送至所述控制器芯片以进行烧录验证;
步骤S40,在所述数据完整性验证和所述烧录验证通过时,向所述控制器芯片发送重启指令以完成所述控制器芯片的固件升级。
需要说明的是,控制器芯片的存储区域可以被划分为多个单元,也即区块。在固件升级的过程中,可以将固件升级数据根据地址依次存储至各区块中,通过多个区块,可以更为灵活地管理固件升级数据,并在固件升级过程中进行增量更新,提高更新效率。
应当理解的是,通过对固件升级的过程进行烧录验证,可以确保固件升级数据在烧录时不出现错误,提高了数据烧录的准确性。在数据完整性验证和烧录验证均通过时,即可确定此次烧录无误,进行重启/复位以完成固件升级。
在本申请实施例的一种实现方式中,所述确定所述存储区域中连续区块的区块信息,并将所述区块信息发送至所述控制器芯片以进行烧录验证的步骤,包括:
根据从低到高的地址顺序对所述存储区域中进行区块识别,以确定所述存储区域中的连续区块;
读取所述连续区块的区块数据,并根据所述区块数据确定校验和;
获取所述区块的区块参数,并将所述区块参数和所述校验和作为所述连续区块的区块信息发送至所述控制器芯片进行烧录验证。
需要说明的是,本发明实施例在升级过程中,可以根据需要加入烧录校验机制。具体地,在烧录校验时,上位机可以从控制器芯片的存储区域中按照由低到高的顺序依次读取连续区块的数据并计算校验和。校验和的计算方式可以是以最小寻址单位来计算,即S2格式的,以16bit的数据进行来相加,而S3格式则以8bit的数据来相加。若某个区块内的数据都是0xFFFF(或0xFF),则可以认为区块不连续,不计算该区块的校验和。通过将连续区块中需要校验的多个区块信息(包括区块参数(区块参数包括区块的起始地址、长度(最小寻址单位的数量,必须是区块大小的整数倍))和校验和)发送至控制器芯片的引导加载程序进行校验;到下一区块后再重新计算校验和。
另外,还需要说明的是,区块的大小可以根据从寄存器中读取的信息位置(假设该值为64,则对于S2格式,区块大小为64,对于S3格式,区块大小为128),并注意于数据边沿对齐。其中,数据边沿对齐也即数据的起始位置能够内区块大小整除。
在本申请实施例的一种实现方式中,每次下发固件升级数据,都是针对一片连续的区块群(即多个地址连续的区块)。若有多个区块群,则分多次下发区块信息。
在具体实现中,上位机可以通过根据从低到高的地址顺序对存储区域中进行区块识别,以确定存储区域中的连续区块;读取连续区块的区块数据,并根据区块数据确定校验和;获取区块的区块参数,并将区块参数和校验和作为连续区块的区块信息发送至控制器芯片进行烧录验证。通过对控制器芯片中存储区域内的固件升级数据进行烧录验证,可以避免在固件烧录过程中出现错误,导致固件烧录异常的问题。
本申请实施例通过获取控制器芯片的引导加载程序信息,并根据引导加载程序信息下发相应的固件升级数据至控制器芯片;在接收到控制器芯片返回的数据接收完成信息时,对控制器芯片的存储区域中保存的固件升级数据进行数据完整性验证;确定存储区域中连续区块的区块信息,并将区块信息发送至控制器芯片以进行烧录验证;在数据完整性验证和烧录验证通过时,向控制器芯片发送重启指令以完成控制器芯片的固件升级。通过对控制器芯片的存储区域中接收到的固件升级数据进行数据完整性校验,保证了固件升级数据的完整性,提高了数据的准确性;通过确定存储区域中连续区块的区块信息,使得控制器芯片可以根据该区块信息进行烧录验证,避免了数据传输过程中导致的错误。
基于本发明控制器芯片的固件升级方法的第一实施例,提出本发明控制器芯片的固件升级方法的第二实施例。
参照图2,图2为本申请控制器芯片的固件升级方法第二实施例的流程示意图。
本实施例中,所述获取所述控制器芯片的引导加载程序信息,并根据所述引导加载程序信息下发相应的固件升级数据至所述控制器芯片的步骤之前,还包括:
步骤S100,通过固件升级接口向所述通讯链路发送切换指令;所述切换指令中携带有控制器芯片识别标识;
步骤S200,在存在控制器芯片响应所述控制器芯片时,向所述控制器芯片发送握手指令,以使所述控制器芯片基于所述握手指令进行握手;
步骤S300,在所述握手通过时,建立与所述控制器芯片的连接关系。
需要说明的是,在某些实际应用中,通讯链路上会直接或者间接连接多个设备(或者一个设备上设置有多颗控制器芯片),且这些控制器芯片通过同一个通讯端口进行升级。在这种情况下,如果需要只对其中某一个设备进行升级,则需要通过控制器芯片识别标识进行区分。
具体地,可以参照图3所示,图3为多设备升级机制示意图。
应当理解的是,对于这些控制器芯片,事先可以分配唯一的控制器芯片识别标识,该标识可以用于引导加载程序。一般而言,可以直接将该控制器芯片识别表示在引导加载程序中固定。
在本申请实施例的一种实现方式中,对于芯片识别标识的长度可以设为8bit,也可以设为其他,本申请实施例对此不加以限制,只需保证当前通讯链路中的所有控制器芯片被分配的控制器芯片识别标识不同即可。0和1暂时保留,其中0是广播id,所有设备都需要响应。在通讯链路中只存在一个控制器芯片时,则无需进行控制器芯片识别码校验,直接进行连接并升级。
需要说明的是,上位机可以通过固件升级接口连接通讯链路,并向通讯链路下发相应的切换指令。在控制器芯片接收到切换指令时,则对其进行控制器芯片识别码校验,若校验不通过,则将该切换指令通过通讯链路继续向下游转发;若验证通过,则进行响应并将该切换指令通过通讯链路继续向下游转发。
可以理解的是,通讯链路中的各控制器芯片通过对切换指令的转发、连接,从而使得上位机可以与多个控制器芯片建立通讯连接,实现批量固件升级。
需要说明的是,在通讯链路中,若控制器芯片接收到下游设备(也即下游控制器芯片)发送的数据,则不作任何处理,直接将该数据转发至该控制器芯片的前一设备。
在本申请实施例的一种实现方式中,对于控制器芯片识别标识为0的切换指令,所有控制器芯片均需响应。对于这种命令,一般可以是复位命令,对于该命令,控制器芯片可以根据实际情况确定是否转发,若下游的控制器芯片已被复位,则可以不转发。同样的,在进行批量升级时,若下游待升级的控制器芯片已进行在线升级模式时,上游待升级的控制器芯片才可以进行在线升级模式,从而使得所有待升级控制器芯片都能够进行在线升级模式。
需要说明的是,对于固件升级数据,其可以是以.up类型作为文件类型,文件格式可以采用xml规范。其中,xml头统一为<?xml version="1.0" encoding="gb2312"?>,根元素为Database,不含任何属性,其包括以下子元素:
1.Info,该元素为一种可选元素,Info可以用于定义引导加载程序的一些相关信息,例如版本信息、框架版本号信息等。
2.PreCmd,该元素为一种可选元素,PreCmd定义了进入在线升级模式之前需要发送的命令。可以包括有多个PreCmd元素。该元素可以包括发送顺序、通讯类型、波特率、串口通讯时的数据位、串口通讯时的校验方式、串口通讯时的停止位、数据的字节数、发送的数据、CAN帧格式、是否为远程帧、CAN ID等属性。
3.PostCmd,该元素为一种可选元素,PostCmd定义了升级结束后需要发送的命令,不管升级成功还是失败都会发送。该元素可以包括的属性与上述PreCmd一致。
4.Firmware,该元素为必需元素。该元素定义了软件版本信息在程序文件中的位置信息,属性start表示固件升级数据的存储区域地址,len表示占用的空间大小。如果有多个Srecord,则每个Srecord对应一个firmware节点。其中第一个Srecord对应Firmware,第二个Srecord对应Firmware1,第三个Srecord对应Firmware2,依次类推。
5.Srecord,该元素为必需。该元素定义了一个程序文件的详细信息,一个升级文件可以有多个该元素,即一个固件升级数据文件可以包换多个程序文件。该元素可以包括主程序的起始地址、主程序的结束地址、控制器芯片识别标识、设备名称、写入位置、文件格式(默认为S2/S3)、数据对齐方式等属性中的一项或多项。
需要说明的是,上述示例仅用于理解本申请,并不构成对本申请控制器芯片的固件升级方法的限定,基于此技术构思进行更多形式的简单变换,均在本申请的保护范围内。
在本申请实施例的一种实现方式中,所述根据所述引导加载程序信息下发相应的固件升级数据至所述控制器芯片的步骤,包括:
根据所述引导加载程序信息确定相应的固件升级数据;
向所述控制器芯片发送密钥更新指令;所述密钥更新指令中包括更新后的密钥;
将所述固件升级数据下发至所述控制器芯片,并在下发时通过所述更新后的密钥对所述固件升级数据进行加密,以使所述固件升级数据以加密数据包的形式进行下发;
在所述加密数据包的发送数量达到预设数量时,若所述固件升级数据未发送完成,返回至所述向所述控制器芯片发送密钥更新指令的步骤,以更换密钥。
需要说明的是,为了提高传输的安全性,可以对固件升级数据进行加密传输,加密仅针对于需要烧写至存储区域内的数据。具体地,上位机可以向控制器芯片发送密钥更新命令,通知引导加载程序更新密钥。上位机可以获取更新后的密钥并校验该密钥的完整性,在校验通过时对固件升级数据进行加密,使得固件升级数据可以通过加密数据包的形式下发。
其中,加密规则可以如下所示:
data[i]= (data[i] ^ (key + i));
其中,key为密钥,data[i]为第i份固件升级数据。
需要说明的是,在发送的加密数据包达到预设数量N时,若固件升级数据还未发送完成,则返回到更新密钥,以进行密钥更换。其中,N的值可以随机确定,也可以是事先确定,本申请实施例对此不加以限制。
在进行固件升级数据发送之前,上位机还可以向控制器芯片发送修改波特率的命令、数据擦除命令等,以实现数据升级的预操作。
本申请实施例通过固件升级接口向通讯链路发送切换指令;切换指令中携带有控制器芯片识别标识;在存在控制器芯片响应控制器芯片时,向控制器芯片发送握手指令,以使控制器芯片基于握手指令进行握手;在握手通过时,建立与控制器芯片的连接关系。由于是通过将携带有控制器芯片识别标识的切换指令在通讯链路中进行发送,使得可以与能够响应该切换指令的控制器芯片进行连接,相较于现有技术,本申请通过控制器芯片识别标识进行连接识别,可以同时与多个控制器芯片进行通讯连接。
此外,本申请控制器芯片的固件升级方法还提出了一实施例。在本实施例中,该控制器芯片的固件升级方法应用于控制器芯片,该控制器芯片可以与上位机连接。具体地,所述方法包括:
在线升级模式下,响应于上位机的引导加载程序信息获取指令,将引导加载程序信息发送至所述上位机;
接收所述上位机基于所述引导加载程序信息发送的固件升级数据,并将所述固件升级数据写入存储区域;
获取所述上位机基于写入所述固件升级数据后的存储区域生成的区块信息,对所述区块信息进行烧录验证;
响应于所述上位机在所述烧录验证和完整性验证通过时发送的重启指令,进行重启以完成固件升级。
需要说明的是,控制器芯片在在线升级模式下,可以响应上位机的引导加载程序信息获取指令,并将响应的引导加载程序信息发送至上位机。上位机可以基于该引导加载程序信息下发固件升级数据,控制器芯片可以将该固件升级数据写入至存储区域,并在所有固件升级数据全部写入完成时,向上位机发送相应的反馈信息。在上位机接收到该反馈信息时,即可对控制器芯片中写入的固件升级数据进行完整性验证,在完整性验证通过时,下发相应的预设数据到控制器芯片的写入位置,从而使得控制器芯片在每次启动时可以根据该预设数据判断主程序是否完整(也即进行固件主程序完整性判断),若不完整则进行初始化并进入在线升级模式,避免在升级过程中意外中断导致控制器芯片直接启动导致故障的问题。具体地,所述响应于上位机的引导加载程序信息获取指令,将引导加载程序信息发送至所述上位机的步骤之前,还包括:
对固件主程序进行完整性判断;
若所述完整性判断不通过,则进行初始化并进入在线升级模式。
所述对固件主程序进行完整性判断的步骤之后,还包括:
若所述完整性判断通过,则运行所述固件主程序;
在所述固件主程序运行时,若接收到切换指令,获取所述切换指令中的控制器芯片识别标识;
对所述控制器芯片识别标识进行验证,在验证通过时,对发送所述切换指令的上位机进行响应并停止运行所述固件主程序以切换至在线升级模式。
可以理解的是,在控制器芯片对固件主程序的完整性判断通过时,即可启动该固件主程序。在固件主程序运行时,如果接收到上位机发送的切换指令,则可以获取切换中的控制器芯片识别标识进行验证,若验证通过则切换为在线升级模式并对上位机进行响应;若验证不通过,则将该切换指令转发给通讯链路的下游控制器芯片。
需要说明的是,控制器芯片可以在上电复位后进入在线升级模式(也即烧录模式),也可以在主程序正常运行时通过上位机的切换指令进入在线升级模式。在进入在线升级模式时,需要保证产品处于安全稳定的状态,如停机、禁止中断等,此时才能进入在线升级模式。
可以理解的是,在线升级模式下,控制器芯片的引导加载程序可以根据上位机发送的指令执行相应的动作,例如擦除存储区域、进行数据烧录等。在升级完成时,控制器芯片可以接收上位机发送的复位指令或者重启指令,从而退出在线升级模式。
需要说明的是,在控制器芯片接收到上位机发送的区块信息时,可以根据固件升级数据中对应区块的校验和值、地址等区块信息进行对比,若对比通过则可以说明烧录校验通过。
本申请实施例通过在线升级模式下,响应于上位机的引导加载程序信息获取指令,将引导加载程序信息发送至上位机;接收上位机基于引导加载程序信息发送的固件升级数据,并将固件升级数据写入存储区域;获取上位机基于写入固件升级数据后的存储区域生成的区块信息,对区块信息进行烧录验证;响应于上位机在烧录验证和完整性验证通过时发送的重启指令,进行重启以完成固件升级。通过上位机发送的区块信息以及从固件升级数据中获得的区块信息进行对比,从而实现烧录校验,提高了烧录的准确性。
进一步地,如图4所示,图4为本申请控制芯片的固件升级方法一种实现场景中的工作流程示意图。
参照图4,在上位机和控制器芯片建立通讯连接时,上位机可以发送切换指令至控制器芯片,控制器芯片可以根据该切换指令切换到在线升级模式。并将启动加载程序信息发送到上位机,上位机进而可以向控制器芯片发送擦除指令,以使控制器芯片可以对存储区域中的部分或全部的初始固件信息进行擦除。在擦除完成时,上位机可以将固件升级数据下发至控制器芯片,控制芯片可以将该固件升级数据保存至存储区域。在所有固件升级数据均保存至存储区域时,控制器芯片可以向上位机进行反馈。
进一步地,上位机可以根据该反馈,对控制器芯片中的存储区域进行检查,以实现固件升级数据的完整性校验。在完整性校验通过时,可以将预设数据写入至控制器芯片预设的写入位置。从而使得控制器芯片在启动进行主程序验证时,可以根据该写入位置判断主程序是否完整,进而判断正常启动还是直接进入在线升级模式。
进一步地,在上述预设数据写入完整时,即可进行烧录验证。上位机可以根据各区块数据计算校验和,并根据区块参考生成区块信息,将区块信息发送至控制器芯片进行烧录验证。在烧录验证通过时,上位机即可向控制器芯片发送复位/重启指令,以及控制器芯片进行复位或重启,以实现固件升级。
本申请还提出了一种控制器芯片的固件升级系统,该系统中,可以包括如上文所述的上位机和待升级设备。在该待升级设备中,可以包括有至少一个如上文所述的控制器芯片。
在本申请实施例的一种实现方式中,该系统中还可以包括有通讯链路。该通讯链路中可以包括有至少一个待升级设备。
本申请提供一种可作为上述上位机的控制器芯片的固件升级设备,控制器芯片的固件升级设备包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例一中的控制器芯片的固件升级方法。
下面参考图5,其示出了适于用来实现本申请实施例的控制器芯片的固件升级设备的结构示意图。本申请实施例中的控制器芯片的固件升级设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(Personal Digital Assistant:个人数字助理)、PAD(Portable Application Description:平板电脑)、PMP(Portable Media Player:便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的控制器芯片的固件升级设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,控制器芯片的固件升级设备可以包括处理装置1001(例如中央处理器、图形处理器等),其可以根据存储在只读存储器(ROM:Read Only Memory)1002中的程序或者从存储装置1003加载到随机访问存储器(RAM:Random Access Memory)1004中的程序而执行各种适当的动作和处理。在RAM1004中,还存储有控制器芯片的固件升级设备操作所需的各种程序和数据。处理装置1001、ROM1002以及RAM1004通过总线1005彼此相连。输入/输出(I/O)接口1006也连接至总线。通常,以下系统可以连接至I/O接口1006:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置1007;包括例如液晶显示器(LCD:Liquid Crystal Display)、扬声器、振动器等的输出装置1008;包括例如磁带、硬盘等的存储装置1003;以及通信装置1009。通信装置1009可以允许控制器芯片的固件升级设备与其他设备进行无线或有线通信以交换数据。虽然图中示出了具有各种系统的控制器芯片的固件升级设备,但是应理解的是,并不要求实施或具备所有示出的系统。可以替代地实施或具备更多或更少的系统。
特别地,根据本申请公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置1003被安装,或者从ROM1002被安装。在该计算机程序被处理装置1001执行时,执行本申请公开实施例的方法中限定的上述功能。
本申请提供的控制器芯片的固件升级设备,采用上述实施例中的控制器芯片的固件升级方法,能解决现有的固件升级方法处理不得当时容易导致无法运行的技术问题。与现有技术相比,本申请提供的控制器芯片的固件升级设备的有益效果与上述实施例提供的控制器芯片的固件升级方法的有益效果相同,且该控制器芯片的固件升级设备中的其他技术特征与上一实施例方法公开的特征相同,在此不做赘述。
应当理解,本申请公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
本申请提供一种计算机可读存储介质,具有存储在其上的计算机可读程序指令(即计算机程序),计算机可读程序指令用于执行上述实施例中的控制器芯片的固件升级方法。
本申请提供的计算机可读存储介质例如可以是U盘,但不限于电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。计算机可读存储介质的更具体地例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM:Random Access Memory)、只读存储器(ROM:Read Only Memory)、可擦式可编程只读存储器(EPROM:Erasable Programmable Read Only Memory或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM:CD-Read Only Memory)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(Radio Frequency:射频)等等,或者上述的任意合适的组合。
上述计算机可读存储介质可以是控制器芯片的固件升级设备中所包含的;也可以是单独存在,而未装配入控制器芯片的固件升级设备中。
上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被控制器芯片的固件升级设备执行时,使得控制器芯片的固件升级设备:
获取所述控制器芯片的引导加载程序信息,并根据所述引导加载程序信息下发相应的固件升级数据至所述控制器芯片;
在接收到所述控制器芯片返回的数据接收完成信息时,对所述控制器芯片的存储区域中保存的所述固件升级数据进行数据完整性验证;
确定所述存储区域中连续区块的区块信息,并将所述区块信息发送至所述控制器芯片以进行烧录验证;
在所述数据完整性验证和所述烧录验证通过时,向所述控制器芯片发送重启指令以完成所述控制器芯片的固件升级。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN:Local Area Network)或广域网(WAN:Wide Area Network)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该单元本身的限定。
本申请提供的可读存储介质为计算机可读存储介质,所述计算机可读存储介质存储有用于执行上述控制器芯片的固件升级方法的计算机可读程序指令(即计算机程序),能够解决现有的固件升级方法处理不得当时容易导致无法运行的技术问题。与现有技术相比,本申请提供的计算机可读存储介质的有益效果与上述实施例提供的控制芯片的固件升级方法的有益效果相同,在此不做赘述。
本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的控制器芯片的固件升级方法的步骤。
本申请提供的计算机程序产品能够解决现有的固件升级方法处理不得当时容易导致无法运行的技术问题。与现有技术相比,本申请提供的计算机程序产品的有益效果与上述实施例提供的控制器芯片的固件升级方法的有益效果相同,在此不做赘述。
以上所述仅为本申请的部分实施例,并非因此限制本申请的专利范围,凡是在本申请的技术构思下,利用本申请说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本申请的专利保护范围内。
Claims (3)
1.一种控制器芯片的固件升级方法,其特征在于,所述方法应用于上位机,所述上位机与至少一个控制器芯片连接,所述方法包括:
获取所述控制器芯片的引导加载程序信息,并根据所述引导加载程序信息下发相应的固件升级数据至所述控制器芯片;在下发所述固件升级数据时,将预设数据写入至所述控制器芯片的校验位置;所述校验位置与所述控制器芯片的存储区域扩展类型有关;
在接收到所述控制器芯片返回的数据接收完成信息时,向所述控制器芯片发送检查存储命令以对所述控制器芯片的存储区域中保存的所述固件升级数据进行数据完整性验证;
确定所述存储区域中连续区块的区块信息,并将所述区块信息发送至所述控制器芯片以进行烧录验证;
在所述数据完整性验证和所述烧录验证通过时,向所述控制器芯片发送重启指令以完成所述控制器芯片的固件升级;
所述确定所述存储区域中连续区块的区块信息,并将所述区块信息发送至所述控制器芯片以进行烧录验证的步骤,包括:
根据从低到高的地址顺序对所述存储区域中进行区块识别,以确定所述存储区域中的连续区块;
读取所述连续区块的区块数据,并根据所述区块数据确定校验和;
获取所述区块的区块参数,并将所述区块参数和所述校验和作为所述连续区块的区块信息发送至所述控制器芯片进行烧录验证;
所述对所述控制器芯片的存储区域中保存的所述固件升级数据进行数据完整性验证的步骤,包括:
确定所述控制器芯片的芯片类型,根据所述芯片类型对应的数据写入位置确定所述固件升级数据的校验位置;
在所述控制器芯片的存储区域保存的固件升级数据中确定所述校验位置处的待校验数据;
若所述待校验数据为预设数据,则所述固件升级数据的数据完整性通过;
若所述待校验数据不为预设数据,则所述固件升级数据的数据完整性不通过;
所述获取所述控制器芯片的引导加载程序信息,并根据所述引导加载程序信息下发相应的固件升级数据至所述控制器芯片的步骤之前,还包括:
通过固件升级接口向通讯链路发送切换指令;
所述切换指令中携带有控制器芯片识别标识;
在存在控制器芯片响应所述控制器芯片时,向所述控制器芯片发送握手指令,以使所述控制器芯片基于所述握手指令进行握手;
在所述握手通过时,建立与所述控制器芯片的连接关系;
所述根据所述引导加载程序信息下发相应的固件升级数据至所述控制器芯片的步骤,包括:
根据所述引导加载程序信息确定相应的固件升级数据;
向所述控制器芯片发送密钥更新指令;
所述密钥更新指令中包括更新后的密钥;
将所述固件升级数据下发至所述控制器芯片,并在下发时通过所述更新后的密钥对所述固件升级数据进行加密,以使所述固件升级数据以加密数据包的形式进行下发;
在所述加密数据包的发送数量达到预设数量时,若所述固件升级数据未发送完成,返回至所述向所述控制器芯片发送密钥更新指令的步骤,以更换密钥。
2.一种控制器芯片的固件升级方法,其特征在于,所述方法应用于控制器芯片,所述控制器芯片通过通信链路与上位机连接,所述上位机用于实现如权利要求1所述的控制器芯片的固件升级方法的步骤,所述方法包括:
在线升级模式下,响应于上位机的引导加载程序信息获取指令,将引导加载程序信息发送至所述上位机;
接收所述上位机基于所述引导加载程序信息发送的固件升级数据,并将所述固件升级数据写入存储区域;
获取所述上位机基于写入所述固件升级数据后的存储区域生成的区块信息,对所述区块信息进行烧录验证;
响应于所述上位机在所述烧录验证和完整性验证通过时发送的重启指令,进行重启以完成固件升级;
所述响应于上位机的引导加载程序信息获取指令,将引导加载程序信息发送至所述上位机的步骤之前,还包括:
对固件主程序进行完整性判断;
若所述完整性判断不通过,则进行初始化并进入在线升级模式;
所述对固件主程序进行完整性判断的步骤之后,还包括:
若所述完整性判断通过,则运行所述固件主程序;
在所述固件主程序运行时,若接收到切换指令,获取所述切换指令中的控制器芯片识别标识;
对所述控制器芯片识别标识进行验证,在验证通过时,对发送所述切换指令的上位机进行响应并停止运行所述固件主程序;
在下游待升级的控制器芯片已进入在线升级模式时,切换至在线升级模式;
所述对所述控制器芯片识别标识进行验证的步骤之后,还包括:
若验证不通过,则将所述切换指令转发至其他控制器芯片。
3.一种控制器芯片的固件升级系统,其特征在于,所述系统包括上位机以及待升级设备;
所述待升级设备中包括至少一个控制器芯片;
所述上位机,用于实现如权利要求1所述的控制器芯片的固件升级方法的步骤;
所述控制器芯片,用于实现如权利要求2所述的控制器芯片的固件升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410586222.XA CN118151977B (zh) | 2024-05-13 | 2024-05-13 | 控制器芯片的固件升级方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410586222.XA CN118151977B (zh) | 2024-05-13 | 2024-05-13 | 控制器芯片的固件升级方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118151977A CN118151977A (zh) | 2024-06-07 |
CN118151977B true CN118151977B (zh) | 2024-08-23 |
Family
ID=91290556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410586222.XA Active CN118151977B (zh) | 2024-05-13 | 2024-05-13 | 控制器芯片的固件升级方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118151977B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118733091A (zh) * | 2024-09-03 | 2024-10-01 | 江苏华鲲振宇智能科技有限责任公司 | 一种bmc安全更新服务器bios固件的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111752583A (zh) * | 2020-06-11 | 2020-10-09 | Oppo广东移动通信有限公司 | 固件升级方法、装置、电子设备和计算机可读存储介质 |
CN112181455A (zh) * | 2020-09-24 | 2021-01-05 | 深圳数联天下智能科技有限公司 | 微控制器的在线升级方法、微控制器及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874428A (zh) * | 2018-06-29 | 2018-11-23 | 无锡和晶科技股份有限公司 | 一种冰箱控制器控制软件的远程升级方法 |
US11467822B2 (en) * | 2021-03-15 | 2022-10-11 | Google Llc | Methods for optics module firmware in-field upgrade |
CN117908910A (zh) * | 2022-10-10 | 2024-04-19 | 上海派能能源科技股份有限公司 | 一种mcu升级方法、装置、电子设备及存储介质 |
-
2024
- 2024-05-13 CN CN202410586222.XA patent/CN118151977B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111752583A (zh) * | 2020-06-11 | 2020-10-09 | Oppo广东移动通信有限公司 | 固件升级方法、装置、电子设备和计算机可读存储介质 |
CN112181455A (zh) * | 2020-09-24 | 2021-01-05 | 深圳数联天下智能科技有限公司 | 微控制器的在线升级方法、微控制器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN118151977A (zh) | 2024-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106569847B (zh) | 一种用于车载系统基于移动网络实现iap远程升级的方法 | |
US9027014B2 (en) | Updating firmware compatibility data | |
US9582262B2 (en) | Systems and methods for installing upgraded software on electronic devices | |
JP2009110527A (ja) | アップグレード中に発生した障害や誤りからの自動復元を含む電子ファイルのアップグレード | |
CN111813428A (zh) | 终端固件的升级方法、装置、电子设备及存储介质 | |
CN118151977B (zh) | 控制器芯片的固件升级方法及系统 | |
CN104850427B (zh) | 一种代码升级方法及装置 | |
CN115220796A (zh) | 安全引导设备 | |
CN109165034A (zh) | 基于ota的pos机升级方法、装置、设备及存储介质 | |
CN111459524A (zh) | 软件的升级方法、装置、系统 | |
US20130080751A1 (en) | Method and device for updating bios program for computer system | |
CN117687664A (zh) | 一种dsp的在线升级配置方法及装置 | |
CN110659210A (zh) | 一种信息获取方法、装置、电子设备及存储介质 | |
CN113360914A (zh) | 一种bios更新的方法、系统、设备及介质 | |
CN113900693B (zh) | 一种固件升级方法、装置、系统、电子设备及存储介质 | |
CN104133743A (zh) | 一种将文件烧录到emmc芯片的方法及装置 | |
CN111459496B (zh) | 一种防篡改的程序文件的生成方法、设备的升级方法 | |
CN111629200A (zh) | 一种快速检测差分包可靠性的方法、装置及可读存储介质 | |
CN105589718A (zh) | 智能设备的系统更新方法与更新装置 | |
CN111352764B (zh) | 一种芯片修复的方法、装置、设备及存储介质 | |
CN116048581A (zh) | 应用更新方法及装置、电子设备、计算机可读存储介质 | |
CN116820528A (zh) | 固件版本升级方法、装置、芯片和电子设备 | |
CN113626792B (zh) | PCIe Switch固件安全执行方法、装置、终端及存储介质 | |
CN116662050A (zh) | 一种错误注入支持功能验证方法、装置、终端及介质 | |
CN110908818B (zh) | 一种验证方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |