CN116931996A - 一种固件更新方法、装置、设备以及储存介质 - Google Patents
一种固件更新方法、装置、设备以及储存介质 Download PDFInfo
- Publication number
- CN116931996A CN116931996A CN202310905672.6A CN202310905672A CN116931996A CN 116931996 A CN116931996 A CN 116931996A CN 202310905672 A CN202310905672 A CN 202310905672A CN 116931996 A CN116931996 A CN 116931996A
- Authority
- CN
- China
- Prior art keywords
- firmware
- updated
- chip
- patch file
- file
- 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
Links
- 238000003860 storage Methods 0.000 title claims abstract description 119
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000013507 mapping Methods 0.000 claims abstract description 37
- 230000005540 biological transmission Effects 0.000 claims description 55
- 230000006870 function Effects 0.000 claims description 47
- 238000010586 diagram Methods 0.000 description 9
- 238000003491 array Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000010923 batch production Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 102100021568 B-cell scaffold protein with ankyrin repeats Human genes 0.000 description 1
- 101000971155 Homo sapiens B-cell scaffold protein with ankyrin repeats Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000001680 brushing effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000012360 testing method 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种固件更新方法、装置、设备以及储存介质,涉及电子设备技术领域,该方法的步骤包括:判断PD芯片是否需要进行固件更新;在检测到所述PD芯片需要进行固件更新时,根据待更新固件对应的待更新补丁文件的文件标识在预设映射关系中查找目标存放地址,所述预设映射关系中存放有所述待更新补丁文件的文件标识和所述目标存放地址之间的对应关系;通过预设接口函数从所述目标存放地址中读取所述待更新补丁文件,以待更新固件的数组形式将所述待更新补丁文件传输至所述PD芯片的补丁文件存放地址。通过该方法自动推送固件至PD芯片,配合PD芯片内部的程序,以使PD芯片自动更新固件,降低了人工更新固件时出现更新错误的概率。
Description
技术领域
本发明涉及电子设备技术领域,尤其涉及一种固件更新方法、装置、设备以及储存介质。
背景技术
随着电子行业的快速发展,各类电子设备的电力输送技术不断迭代,使得计算机中的电力输送(Power Delivery,PD)芯片也在不断地快速更新,在产品生产与研发的过程中,工厂需要在量产电子设备时对PD芯片的物料刷写固件,随着产品流入客户端进行不断地测试与开发,往往客户会要求对产品提出新需求,为提升产品更新换代的速度,往往存在在一批产品或多批产品需要刷写不同版本的固件的情况。现有的PD芯片固件更新主要依赖两种途径:
1.通过物理治具的方式来人工刷写准备好的固件;
2.通过软件烧录工具的方式来人工刷写准备好的固件。
以上两种方案都需要物理治具或者软件烧录工具手动进行刷写,还需额外准备好固件文件来对PD芯片进行固件更新,此外,对于用户端而言,由于无法直接获取刷写固件的条件,需要将待更新固件的产品寄回工厂进行刷写更新固件,在产品寄回的过程中会浪费大量时间,也会提高成本;对于工厂而言,在实际生产过程中,工厂员工可能存在人工操作失误的情况导致待更新固件数据内容异常从而使大批量机器刷写固件错误的可能,需要重新返工,同样会提供成本,且人工刷写更新固件的方式作业缓慢,无法满足计算机在批量生产过程中的效率,因此需要一种新的固件更新方法来解决无法避免人工更新固件方法中的缺陷的问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明实施例的主要目的在于提供了一种固件更新方法、装置、设备以及储存介质,旨在解决无法避免人工更新固件方法中的缺陷的技术问题。
为实现上述目的,本发明实施例提供了一种固件更新方法,所述方法的步骤包括:
判断PD芯片是否需要进行固件更新;
在检测到所述PD芯片需要进行固件更新时,根据待更新固件对应的待更新补丁文件的文件标识在预设映射关系中查找目标存放地址,所述预设映射关系中存放有所述待更新补丁文件的文件标识和所述目标存放地址之间的对应关系;
通过预设接口函数从所述目标存放地址中读取所述待更新补丁文件,以待更新固件的数组形式将所述待更新补丁文件传输至所述PD芯片的补丁文件存放地址;
其中,所述PD芯片在处于补丁模式时,通过保存至所述补丁文件存放地址内的所述待更新补丁文件进行固件更新。
可选地,所述判断PD芯片是否需要进行固件更新的步骤之前还包括:
获取待更新固件,并将所述待更新固件以数组形式存放至所述待更新补丁文件;
将所述待更新补丁文件存放至本地数据库,获得所述待更新补丁文件的存放地址;
将所述待更新补丁文件的文件标识与所述存放地址进行关联,根据关联结果建立所述预设映射关系。
可选地,所述判断PD芯片是否需要进行固件更新的步骤包括:
读取所述PD芯片的补丁文件存放地址中对应原固件的原补丁文件的文件标识;
在检测到所述原补丁文件的文件标识与所述待更新补丁文件的文件标识不一致时,判定所述PD芯片需要进行固件更新;
在检测到所述原补丁文件的文件标识与所述待更新补丁文件的文件标识一致时,判定所述PD芯片不需要进行固件更新。
可选地,所述通过预设接口函数从所述目标存放地址中读取所述待更新补丁文件,以待更新固件的数组形式将所述待更新补丁文件传输至所述PD芯片的补丁文件存放地址的步骤之前包括:
根据接口函数的数据传输参数配置所述预设接口函数,所述数据传输参数包括接口通道以及数据传输类型。
可选地,所述接口函数的接口通道包括与所述PD芯片沟通的接口通道,所述接口函数的传输数据类型包括所述待更新固件的数组形式。
可选地,所述根据接口函数的数据传输参数配置所述预设接口函数,所述数据传输参数包括接口通道以及数据传输类型的步骤之后还包括:
在每次准备通过所述接口函数将所述待更新补丁文件以待更新固件的数组形式传输至PD芯片之前,发送预传输指令至所述PD芯片;
其中,所述PD芯片,用于在每次接收到所述预传输指令时,自动进入补丁模式,并在接收到所述待更新固件数组之前,清除所述补丁文件存放地址中的原保存的原固件数组。
可选地,所述PD芯片,用于在每次接收到所述待更新固件数组时,将所述待更新固件数组保存至所述已清除原保存的原补丁文件的补丁文件存放地址,直到在预设时间内未接收到待更新补丁数组;
所述PD芯片,还用于在每次保存所述待更新固件数组后获取到所述待更新补丁数组传输错误的信息时,清除对应的补丁文件存放地址保存的加载错误的待更新固件数组,并重新执行接收所述待更新固件数组的操作;
所述PD芯片,还用于在将待更新固件数组存放至对应的补丁文件存放地址后,在检测到无待更新数组需要加载时,退出所述补丁模式。
此外,为实现上述目的,本发明实施例还提供一种固件更新装置,所述装置包括:
更新判断模块,用于判断PD芯片是否需要进行固件更新;
地址查找模块,用于在检测到所述PD芯片需要进行固件更新时,根据待更新固件对应的待更新补丁文件的文件标识在预设映射关系中查找目标存放地址,所述预设映射关系中存放有待更新补丁文件的文件标识和目标存放地址之间的对应关系;
数据传输模块,用于通过预设接口函数从所述目标存放地址中读取所述待更新补丁文件,以待更新固件的数组形式将所述待更新补丁文件传输至所述PD芯片的补丁文件存放地址;
其中,所述PD芯片在处于补丁模式时,通过保存至所述补丁文件存放地址内的所述待更新补丁文件进行固件更新。
此外,为实现上述目的,本发明实施例还提供一种固件更新设备,所述固件更新设备包括:储存器、处理器及储存在所述储存器上并可在所述处理器上运行的固件更新程序,所述固件更新程序配置为实现如上文所述的固件更新方法的步骤。
此外,为实现上述目的,本发明实施例还提出一种储存介质,所述储存介质上储存有固件更新程序,所述固件更新程序被处理器执行时实现如上文所述的固件更新方法的步骤。
本申请技术方案的固件更新方法,通过判断PD芯片是否需要进行固件更新;在检测到所述PD芯片需要进行固件更新时,根据待更新固件对应的待更新补丁文件的文件标识在预设映射关系中查找目标存放地址,所述预设映射关系中存放有所述待更新补丁文件的文件标识和所述目标存放地址之间的对应关系;通过预设接口函数从所述目标存放地址中读取所述待更新补丁文件,以待更新固件的数组形式将所述待更新补丁文件传输至所述PD芯片的补丁文件存放地址;其中,所述PD芯片在处于补丁模式时,通过保存至所述补丁文件存放地址内的所述待更新补丁文件进行固件更新。本申请技术方案可实现对已出货产品进行自动更新固件,无需再向用户提供额外的物理治具或烧录软件,保证固件数据更新的稳定性,防止员工在更新固件的过程中,因操作失误导致待更新固件数据出现错误,同时也提高了固件数据的信息安全性,防止通过读取该固件数据内容的形式窃取核心技术,达到了以上所述的使用传统的人工更新固件的方法中的无法实现的效果,降低了人工更新固件时出现更新错误的概率,提高了计算机在批量生产过程中的效率,节约了成本。
附图说明
图1为本发明固件更新设备一实施例的硬件结构示意图;
图2为本发明固件更新方法一实施例的流程示意图;
图3为本发明固件更新方法另一实施例的流程示意图;
图4为EC储存的待更新固件的结构示意图;
图5为外部输入的待更新固件数组的结构示意图;
图6为待更新补丁文件形成预设映射关系的程序表达示意图;
图7为本发明固件更新装置一实施例的框架示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中通过嵌入式控制器(Embedded Controller,EC)作为主控,在每次上电后自动将本地数据库中储存的包含关于PD芯片的待更新固件的待更新补丁文件推送至PD芯片,以使PD芯片能够根据接收到待更新补丁文件自动进行固件更新,相比于传统的使用硬件治具或软件程序以人工刷写的方式对PD芯片的固件进行更新的方法,可实现对已出货产品进行自动更新固件,无需再向用户提供额外的物理治具或烧录软件,此外,还可保证固件数据更新的稳定性,防止员工在更新固件的过程中因操作失误导致待更新固件数据出现错误,造成大批量产品返工,同时也提高了固件数据的信息安全性,防止通过读取该固件数据内容的形式窃取核心技术,降低了人工更新固件时出现更新错误的概率,提高了计算机在批量生产过程中的效率,节约了成本。
为了更好地理解上述技术方案,下面将参照附图更详细地以示例性实施例的方式对上述技术方案进行举例说明。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
作为一种实现方案,参考图1,图1为本发明固件更新设备一实施例的硬件结构示意图。
本发明实施例涉及的固件更新设备的硬件框架包括:处理器101、储存器102以及通信总线103。其中,储存器102可以是高速RAM储存器,也可以是稳定的储存器(non-volatilememory),例如磁盘储存器,用于储存固件更新程序;通信总线103,用于实现这些组件之间的连接通信;处理器101可以为CPU,用于调用储存器102中储存的固件更新程序,并执行本发明实施例提供的固件更新方法。
基于上述固件更新的硬件结构但不限于上述硬件结构,提出本发明固件更新方法的实施例。
基于上述固件更新设备的硬件框架,提出本发明固件更新方法的第一实施例。
参考图2,图2为本发明固件更新方法一实施例的流程示意图。如图2所示,在本实施例中,所述固件更新方法的步骤包括:
步骤S10:判断PD芯片是否需要进行固件更新。
易于理解的是,本发明的执行主体为EC,EC通过IIC总线与PD芯片连接,并可以通过IIC协议获取PD芯片保存的固件版本信息。
需要说明的是,在具体实施中,EC通过对比从PD芯片获取的固件版本信息与保存在EC中的固件版本信息是否相同来判断PD芯片是否需要更新。
步骤S20:在检测到所述PD芯片需要进行固件更新时,根据待更新固件对应的待更新补丁文件的文件标识在预设映射关系中查找目标存放地址,所述预设映射关系中存放有所述待更新补丁文件的文件标识和所述目标存放地址之间的对应关系。
易于理解的是,在EC中存放的补丁文件包括文件标识,可以通过文件标识来调用该文件。其中,补丁文件的文件标识可以是一种用于区别不同文件的标识信息,例如,其可以是该补丁文件的文件名称,或者该补丁文件的版本信息(例如固件版本信息),或者是文件名称和版本信息的组合。
此外,可以通过在EC中建立预设映射关系,将补丁文件的文件标识与补丁文件在EC中的存放地址链接起来,使得可以通过补丁文件的文件标识查询该映射关系来获取存放该补丁文件的存放地址,从而可以根据文件的文件标识对其链接的对应文件的存放地址保存的文件进行读写操作。
需要说明的是,在具体实施中,在每次进行上电并跑代码时,EC可以读取PD芯片中需要更新的补丁文件的文件标识,作为判断PD芯片是否需要进行固件更新的依据。由于PD芯片中需要更新的补丁文件中的文件标识中包含的补丁文件的文件名称与EC中待更新补丁文件中的文件标识中包含的补丁文件的文件名称相同,即可通过读取的PD芯片中的需要更新的补丁文件的文件标识与对应的EC中通过预设映射关系找到的对应存放地址的待更新补丁文件的文件标识进行对比判断是否需要对PD芯片中的固件进行更新。
易于理解的是,预设映射关系可以通过软件代码进行设置,软件代码还可以将指定的待更新补丁文件的保存地址与需要发送到PD芯片中保存待更新补丁文件的接收地址建立预设映射关系,方便PD芯片接收待更新补丁文件以及反馈已保存的补丁文件的版本信息。
步骤S30:通过预设接口函数从所述目标存放地址中读取所述待更新补丁文件,以待更新固件的数组形式将所述待更新补丁文件传输至所述PD芯片的补丁文件存放地址。
易于理解的是,EC与其他外接设备之间可以进行信息交互,但不可以把所有保存的信息都进行交互,预设接口函数用于限制EC与其他外接设备之间的信息交互,即可理解为根据接口函数控制EC与指定的外接设备进行指定的信息传输过程,指定的信息传输过程是指先通过指定的通信接口从指定的EC中指定的信息存放地址中获取指定的信息,再通过指定的通信接口以指定的数据传输类型传输至指定的外接设备的指定储存地址中进行储存。其中,上述所指的储存地址可以理解为对应设备中的寄存器地址。
需要说明的是,在具体实施中,可以向预设接口函数输入待更新补丁文件的文件标识作映射源,在预先构建的上述预设映射关系查找目标源(即待更新补丁文件的目标存放地址),然后将目标存放地址中的待更新补丁文件以设定的数组形式传输至指定的PD芯片的补丁文件存放地址中。
易于理解的是,由于固件数据比较大,EC无法通过预设函数接口一次性将整个待更新补丁文件传输至PD芯片的补丁文件存放地址中,需要将待更新补丁文件先拆解为多条二进制数据组成的待更新固件数组,再以设定好的待更新固件的数组形式进行传输。其中,拆解获得的多条待更新固件数组存在一定排序规律,该排序规律与输入EC时的固件数据输入顺序一致,在传输过程中,按照排序规律将待更新固件数组传输至PD芯片的补丁文件存放地址中,以实现在PD芯片中重新获得待更新补丁文件。
其中,所述PD芯片在处于补丁模式时,通过保存至所述补丁文件存放地址内的所述待更新补丁文件进行固件更新。
易于理解的是,PD芯片存在多种工作模式,当PD芯片处于补丁模式时,才会根据接收到的保存至补丁文件存放地址中的待更新补丁文件进行自动更新,若PD芯片不处于补丁模式,则不会对保存至补丁文件存放地址中的待更新补丁文件进行加载更新的操作。
本发明实施例通过判断PD芯片是否需要进行固件更新;在检测到所述PD芯片需要进行固件更新时,根据待更新固件对应的待更新补丁文件的文件标识在预设映射关系中查找目标存放地址,所述预设映射关系中存放有所述待更新补丁文件的文件标识和所述目标存放地址之间的对应关系;通过预设接口函数从所述目标存放地址中读取所述待更新补丁文件,以待更新固件的数组形式将所述待更新补丁文件传输至所述PD芯片的补丁文件存放地址;其中,所述PD芯片在处于补丁模式时,通过保存至所述补丁文件存放地址内的所述待更新补丁文件进行固件更新。本发明实施例解决了无法避免人工更新固件方法中的缺陷的问题,降低了人工更新固件时出现更新错误的概率,提高了计算机在批量生产过程中的效率。
基于本发明固件更新方法一实施例,提出本发明固件更新方法的另一实施例。参考图3,图3发明固件更新方法另一实施例的流程示意图。
如图3所示,在本实施例中,所述步骤S10之前还包括:
步骤S01:获取待更新固件,并将所述待更新固件以数组形式存放至所述待更新补丁文件。
需要说明的是,生成的待更新补丁文件的同时也生成了待更新补丁文件的文件标识,该文件标识中包含了待更新补丁文件的文件名称以及待更新补丁文件的版本信息,也就是待更新补丁文件包含的待更新固件数组的版本信息以及其包含的待更新固件的版本信息。
易于理解的是,在具体实施中,参考图4以及图5,图4为EC储存的待更新固件的结构示意图,图5为外部输入的待更新固件数组的结构示意图,EC储存的待更新固件数据是从外部以十六进制数据进行输入的,但为方便后续待更新固件的储存以及传输,会在按输入顺序将十六进制的待更新固件的数据形成的多条包含十六进制的待更新固件的待更新固件数组转为包含二进制待更新固件的待更新固件数组。此外,为在方便EC中进行调用,再将多条待更新固件数组按补丁生成序列进行排序存放在待更新补丁文件中。其中,二进制待更新固件与十六进制待更新固件所包含的数据内容相同,仅为表现形式不同。
步骤S02:将所述待更新补丁文件存放至本地数据库,获得所述待更新补丁文件的存放地址。
步骤S03:将所述待更新补丁文件的文件标识与所述存放地址进行关联,根据关联结果建立所述预设映射关系。
易于理解的是,文件标识仅可用于在EC中调用对应的文件,存放地址仅用于读写保存在存放地址中的信息,EC会储存对待更新补丁文件的文件标识与其存放地址进行关联形成的预设映射关系,并可通过该预设映射关系通过待更新补丁文件的文件标识获取其存放地址。
举例说明,参考图6,图6为待更新补丁文件形成预设映射关系的程序表达示意图。其中,BANK1可以为待更新补丁文件的文件标识,0xC000可以为待更新补丁文件的存放地址,该存放地址可以为EC的FLASH储存器中的地址,该条程序用于将待更新补丁文件的文件标识与对应的存放地址进行关联,并将关联形成的预设映射关系保存至EC保存映射关系的本地数据库中,该本地数据库可以为EC内部FLASH储存器。
可选地,在本实施例中,所述步骤S10包括:
步骤S11:读取所述PD芯片的补丁文件存放地址中对应原固件的原补丁文件的文件标识。
易于理解的是,在具体实施中,EC可以通过通信总线读取PD芯片的补丁文件存放地址中保存的原补丁文件的文件标识,原补丁文件的文件标识中包含原补丁文件版本信息,相当于原固件的固件版本信息。
步骤S12:在检测到所述原补丁文件的文件标识与所述待更新补丁文件的文件标识不一致时,判定所述PD芯片需要进行固件更新。
步骤S13:在检测到所述原补丁文件的文件标识与所述待更新补丁文件的文件标识一致时,判定所述PD芯片不需要进行固件更新。
易于理解的是,EC中保存的待更新补丁文件的文件标识包含当前PD芯片需要使用的固件的固件版本信息,PD芯片中保存的原补丁文件的文件标识包含当前PD芯片正在使用的固件的固件版本信息。
在具体实施中,上述两个固件版本信息相同,可以理解为EC未获得新版本的固件,则PD芯片的固件无需更新;上述两个固件版本信息不相同,可以理解为EC获得了新版本的固件,则PD芯片的固件需要更新。
可选地,在本实施例中,所述步骤S30之前还包括:
步骤S301:根据接口函数的数据传输参数配置所述预设接口函数,所述数据传输参数包括接口通道以及数据传输类型。
需要说明的是,EC可以根据接口函数与外接设备来相互传输数据,但为了提高传输数据的效率以及提高传输数据的准确性,EC仅需要使用接口函数将指定地址对应指定的数据通过指定接口以指定的传输方式传输至指定设备的指定地址中,故需要将接口函数的数据传输参数进行设置获得预设接口函数,实现上述所需的功能。
易于理解的是,在具体实施中,EC设置接口函数的数据传输参数至少包括:接口通道以及数据传输类型。其中,接口通道用于设定EC与哪一个外接设备进行沟通,数据传输类型用于设定如何传输待更新补丁文件的数据,例如64字节二进制的形式。
此外,接口函数的数据传输参数还可以包括:读取数据文件的文件标识、预传输数据地址以及被写操作次数计数器的文件标识。其中,读取数据文件的文件标识,可以输入待更新补丁文件的文件标识,例如文件名称,由于文件标识与对应文件的保存地址存在映射关系,则可通过需要传输的文件标识读取需要传输的文件;预传输数据地址,可以输入PD芯片中预设保存对应文件的预设保存对应文件的地址,预设保存对应文件的地址可以从PD芯片的操作手册说明书中获取;被写操作次数计数器的文件标识,用于选用对接口函数的被写操作次数进行计数的计数器,该计数器可以用于确保写入数据的准确性。
可选地,在本实施例中,所述接口函数的接口通道包括与所述PD芯片沟通的接口通道,所述接口函数的传输数据类型包括所述待更新固件的数组形式。
易于理解的是,在具体实施中,EC可以连接多个外接设备,需要设置接口函数的接口通道与需要获取待更新补丁文件的外接设备进行沟通,此处可以为与PD芯片连接的接口通道。而接口通道不能一次性将整个待更新补丁文件传输至接口通道对应的PD芯片中,则需要设置接口函数的传输数据类型,传输数据类型也可以理解为传输数据的数据类型以及基于数据类型的传输数据组成的数据结构,此处可以选择64字节二进制的传输数据类型,将待更新补丁文件拆分成该传输数据类型的待更新固件数组,再将该待更新固件数组进行传输至PD芯片。
值得注意的是,此处待更新补丁文件拆分的待更新固件数组与形成待更新补丁文件时使用的二进制的待更新固件数组相同。
可选地,在本实施例中,所述步骤S301之后还包括:
步骤S302:在每次准备通过所述接口函数将所述待更新补丁文件以待更新固件的数组形式传输至PD芯片之前,发送预传输指令至所述PD芯片。
其中,所述PD芯片,用于在每次接收到所述预传输指令时,自动进入补丁模式,并在接收到所述待更新固件数组之前,清除所述补丁文件存放地址中的原保存的原固件数组。
易于理解的是,PD芯片内部的程序储存器中包含自动更新触发程序,该自动更新触发程序触发时允许PD芯片进行自动进入补丁模式,该自动更新触发程序的触发条件为接收到表示EC即将通过接口函数发送的待更新补丁文件的预传输指令,实现在每次需要使用PD芯片时,都会通过EC发送的预传输指令来检查PD芯片的固件是否需要更新。
需要说明的是,在具体实施中,当EC芯片在通过接口函数传输所述待更新补丁文件之前,先发送预传输指令至PD芯片,以使PD芯片自动进入补丁模式,且在PD芯片进入补丁模式之后且接收到待更新补丁文件之前时,清空PD芯片中保存原补丁文件的补丁文件存放地址,为接收待更新补丁文件做准备。
可选地,在本实施例中,所述PD芯片,用于在每次接收到所述待更新固件数组时,将所述待更新固件数组保存至所述已清除原保存的原补丁文件的补丁文件存放地址;
易于理解的是,EC将待更新补丁文件以多条待更新固件的数组形式逐条传输至PD芯片中,PD芯片每接收到一条待更新固件数组都会储存在补丁文件存放地址中,该补丁文件地址都会因PD芯片提前接收到的对应待更新固件数组的预传输指令提前清空对应的原保存固件数组。
所述PD芯片,还用于在每次保存所述待更新固件数组后获取到所述待更新补丁数组传输错误的信息时,清除对应的补丁文件存放地址保存的加载错误的待更新固件数组,并重新执行接收所述待更新固件数组的操作;
易于理解的是,PD芯片每次储存待更新固件数组后都会将已储存的待更新固件数组反馈至EC,在EC对比PD发送的待更新固件数组与从本地数据库中读取的待更新固件数组对比存在差异时,回应PD芯片关于所述待更新补丁数组传输错误的信息,以使PD芯片重新清除清除对应的补丁文件存放地址保存的待更新固件数组,并重新执行传输所述待更新固件数组的操作。
所述PD芯片,还用于在将待更新固件数组存放至对应的补丁文件存放地址后,在检测到无待更新数组需要加载时,退出所述补丁模式。
易于理解的是,PD芯片可以通过EC端完成所有待更新固件数组后发送的传输完成指令判断接收到了所有待更新固件数组。由于接收待更新固件数组以及保存待更新固件数组是同时进行的,也就相当于PD芯片此时已将所有待更新固件数组储存至补丁文件存放地址,此时,PD芯片会退出补丁模式,并进入到应用模式,在应用模式中,补丁文件不会再进行更新,PD芯片会执行当前保存的固件数组包含的固件数据对应的程序,满足客户需求的功能。
此外,为基于上文所述的固件更新方法,本发明实施例还提出一种固件更新装置,参考图7,图7为本发明固件更新装置一实施例的框架示意图。
如图7所示,所述固件更新装置包括:
更新判断模块701,用于判断PD芯片是否需要进行固件更新;
地址查找模块702,在检测到所述PD芯片需要进行固件更新时,根据待更新固件对应的待更新补丁文件的文件标识在预设映射关系中查找目标存放地址,所述预设映射关系中存放有待更新补丁文件的文件标识和目标存放地址之间的对应关系;
数据传输模块703,通过预设接口函数从所述目标存放地址中读取所述待更新补丁文件,以待更新固件的数组形式将所述待更新补丁文件传输至所述PD芯片的补丁文件存放地址;
其中,所述PD芯片在处于补丁模式时,通过保存至所述补丁文件存放地址内的所述待更新补丁文件进行固件更新。
本发明实施例通过判断PD芯片是否需要进行固件更新;在检测到所述PD芯片需要进行固件更新时,根据待更新固件对应的待更新补丁文件的文件标识在预设映射关系中查找目标存放地址,所述预设映射关系中存放有所述待更新补丁文件的文件标识和所述目标存放地址之间的对应关系;通过预设接口函数从所述目标存放地址中读取所述待更新补丁文件,以待更新固件的数组形式将所述待更新补丁文件传输至所述PD芯片的补丁文件存放地址;其中,所述PD芯片在处于补丁模式时,通过保存至所述补丁文件存放地址内的所述待更新补丁文件进行固件更新。本申请技术方案可实现对已出货产品进行自动更新固件,无需再向用户提供额外的物理治具或烧录软件,保证固件数据更新的稳定性,防止员工在更新固件的过程中,因操作失误导致待更新固件数据出现错误,同时也提高了固件数据的信息安全性,防止通过读取该固件数据内容的形式窃取核心技术,达到了以上所述的使用传统的人工更新固件的方法中的无法实现的效果,降低了人工更新固件时出现更新错误的概率,提高了计算机在批量生产过程中的效率,节约了成本。
此外,本发明实施例还提出一种储存介质,所述储存介质上储存有固件更新程序,所述固件更新程序被处理器执行时实现如上文所述的固件更新方法的各个步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品储存在一个储存介质(如只读储存器/随机存取储存器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种固件更新方法,其特征在于,所述固件更新方法的步骤包括:
判断PD芯片是否需要进行固件更新;
在检测到所述PD芯片需要进行固件更新时,根据待更新固件对应的待更新补丁文件的文件标识在预设映射关系中查找目标存放地址,所述预设映射关系中存放有所述待更新补丁文件的文件标识和所述目标存放地址之间的对应关系;
通过预设接口函数从所述目标存放地址中读取所述待更新补丁文件,以待更新固件的数组形式将所述待更新补丁文件传输至所述PD芯片的补丁文件存放地址;
其中,所述PD芯片在处于补丁模式时,通过保存至所述补丁文件存放地址内的所述待更新补丁文件进行固件更新。
2.如权利要求1所述的固件更新方法,其特征在于,所述判断PD芯片是否需要进行固件更新的步骤之前,还包括:
获取待更新固件,并将所述待更新固件以数组形式存放至所述待更新补丁文件;
将所述待更新补丁文件存放至本地数据库,获得所述待更新补丁文件的存放地址;
将所述待更新补丁文件的文件标识与所述存放地址进行关联,根据关联结果建立所述预设映射关系。
3.如权利要求1所述的固件更新方法,其特征在于,所述判断PD芯片是否需要进行固件更新的步骤包括:
读取所述PD芯片的补丁文件存放地址中对应原固件的原补丁文件的文件标识;
在检测到所述原补丁文件的文件标识与所述待更新补丁文件的文件标识不一致时,判定所述PD芯片需要进行固件更新;
在检测到所述原补丁文件的文件标识与所述待更新补丁文件的文件标识一致时,判定所述PD芯片不需要进行固件更新。
4.如权利要求1所述的固件更新方法,其特征在于,所述通过预设接口函数从所述目标存放地址中读取所述待更新补丁文件,以待更新固件的数组形式将所述待更新补丁文件传输至所述PD芯片的补丁文件存放地址的步骤之前包括:
根据接口函数的数据传输参数配置所述预设接口函数,所述数据传输参数包括接口通道以及数据传输类型。
5.如权利要求4所述的固件更新方法,其特征在于,所述接口函数的接口通道包括与所述PD芯片沟通的接口通道,所述接口函数的传输数据类型包括所述待更新固件的数组形式。
6.如权利要求1所述的固件更新方法,其特征在于,所述根据接口函数的数据传输参数配置所述预设接口函数,所述数据传输参数包括接口通道以及数据传输类型的步骤之后还包括:
在每次准备通过所述接口函数将所述待更新补丁文件以待更新固件的数组形式传输至PD芯片之前,发送预传输指令至所述PD芯片;
其中,所述PD芯片,用于在每次接收到所述预传输指令时,自动进入补丁模式,并在接收到所述待更新固件数组之前,清除所述补丁文件存放地址中的原保存的原固件数组。
7.如权利要求6所述的固件更新方法,其特征在于,所述PD芯片,用于在每次接收到所述待更新固件数组时,将所述待更新固件数组保存至所述已清除原保存的原补丁文件的补丁文件存放地址;
所述PD芯片,还用于在每次保存所述待更新固件数组后获取到所述待更新补丁数组传输错误的信息时,清除对应的补丁文件存放地址保存的加载错误的待更新固件数组,并重新执行接收所述待更新固件数组的操作;
所述PD芯片,还用于在将待更新固件数组存放至对应的补丁文件存放地址后,在检测到无待更新数组需要加载时,退出所述补丁模式。
8.一种固件更新装置,其特征在于,所述装置包括:
更新判断模块,用于判断PD芯片是否需要进行固件更新;
地址查找模块,用于在检测到所述PD芯片需要进行固件更新时,根据待更新固件对应的待更新补丁文件的文件标识在预设映射关系中查找目标存放地址,所述预设映射关系中存放有待更新补丁文件的文件标识和目标存放地址之间的对应关系;
数据传输模块,用于通过预设接口函数从所述目标存放地址中读取所述待更新补丁文件,以待更新固件的数组形式将所述待更新补丁文件传输至所述PD芯片的补丁文件存放地址;
其中,所述PD芯片在处于补丁模式时,通过保存至所述补丁文件存放地址内的所述待更新补丁文件进行固件更新。
9.一种固件更新设备,其特征在于,所述固件更新设备包括:储存器、处理器及储存在所述储存器上并可在所述处理器上运行的固件更新程序,所述固件更新程序配置为实现如权利要求1至7中任一项所述的固件更新方法的步骤。
10.一种储存介质,其特征在于,所述储存介质上储存有固件更新程序,所述固件更新程序被处理器执行时实现如权利要求1至7任一项所述的固件更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310905672.6A CN116931996A (zh) | 2023-07-21 | 2023-07-21 | 一种固件更新方法、装置、设备以及储存介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310905672.6A CN116931996A (zh) | 2023-07-21 | 2023-07-21 | 一种固件更新方法、装置、设备以及储存介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116931996A true CN116931996A (zh) | 2023-10-24 |
Family
ID=88387438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310905672.6A Pending CN116931996A (zh) | 2023-07-21 | 2023-07-21 | 一种固件更新方法、装置、设备以及储存介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116931996A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117615367A (zh) * | 2024-01-18 | 2024-02-27 | 深圳飞思通科技有限公司 | 一种固件程序更新方法、装置及系统 |
-
2023
- 2023-07-21 CN CN202310905672.6A patent/CN116931996A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117615367A (zh) * | 2024-01-18 | 2024-02-27 | 深圳飞思通科技有限公司 | 一种固件程序更新方法、装置及系统 |
CN117615367B (zh) * | 2024-01-18 | 2024-04-09 | 深圳飞思通科技有限公司 | 一种固件程序更新方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110708210B (zh) | 云测试配置方法、装置、计算机设备及存储介质 | |
CN116931996A (zh) | 一种固件更新方法、装置、设备以及储存介质 | |
CN108337739B (zh) | 建立无线调试连接的方法及装置、数据处理方法 | |
WO2022267457A1 (zh) | 电子表格数据处理方法、装置、设备及存储介质 | |
CN108460271B (zh) | 终端识别方法及装置 | |
EP3291086A1 (en) | Method and device for downloading software version, and storage medium | |
CN114025032B (zh) | Ems与bms的传输协议方法、系统、设备及存储介质 | |
CN110968478A (zh) | 日志采集方法、服务器及计算机存储介质 | |
CN111831350A (zh) | 应用进程配置更新方法、系统、终端设备及存储介质 | |
CN112788576B (zh) | 设备离线的处理方法和系统、存储介质及电子装置 | |
CN114756872A (zh) | 基于go语言的注入式污点数据跟踪方法、装置和电子装置 | |
WO2014176731A1 (en) | Method and apparatus for upgrading application | |
JPH11143730A (ja) | コンピュータシステム装置の試験方法 | |
CN113992739B (zh) | 一种局域网ota固件升级装置、方法及系统 | |
US20230126360A1 (en) | Wifi network access method, communication method, peripheral apparatus, and storage medium | |
CN113938351A (zh) | 数据采集方法、系统及计算机可读存储介质 | |
CN112800474B (zh) | 一种数据脱敏方法、装置、存储介质及电子装置 | |
CN112311736B (zh) | 遥控装置、家电设备及其通信协议配置方法、装置 | |
CN113110991A (zh) | 页面元素的定位方法及装置、存储介质及电子装置 | |
CN112306416B (zh) | 一种自动读写nv参数的方法及终端 | |
US20230315213A1 (en) | Program download method for intelligent terminal and intelligent terminal | |
CN117560285B (zh) | 一种智控物联整机ota升级方法、客户端及服务端 | |
CN116915765B (zh) | 一种文件下载管理方法及系统 | |
JP2001312432A (ja) | ネットワークサーバ及びその制御方法 | |
CN117608620A (zh) | 一种多设备升级方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |