CN115857998B - 基于zynq和fpga架构的升级方法、装置和介质 - Google Patents
基于zynq和fpga架构的升级方法、装置和介质 Download PDFInfo
- Publication number
- CN115857998B CN115857998B CN202310094431.8A CN202310094431A CN115857998B CN 115857998 B CN115857998 B CN 115857998B CN 202310094431 A CN202310094431 A CN 202310094431A CN 115857998 B CN115857998 B CN 115857998B
- Authority
- CN
- China
- Prior art keywords
- upgrade
- zynq
- file
- fpga
- 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 49
- 238000012795 verification Methods 0.000 claims description 27
- 230000002159 abnormal effect Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000011449 brick Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- 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
- Stored Programmes (AREA)
Abstract
本发明涉及一种基于ZYNQ和FPGA架构的升级方法、装置和介质。所述方法应用于ZYNQ端,包括:获取第一升级文件和第二升级文件,并将第一升级文件和第二升级文件存储至ZYNQ端的运行内存;其中,第一升级文件用于ZYNQ端的升级,第二升级文件用于FPGA端的升级;对第一升级文件和第二升级文件进行校验,并在校验通过的情况下,通知FPGA端从ZYNQ端的运行内存中获取第二升级文件,以使FPGA端基于第二升级文件进行升级;响应于FPGA端反馈的升级成功指令,基于第一升级文件对ZYNQ端进行升级。
Description
技术领域
本发明涉及微弱信号检测的技术领域,特别是涉及一种基于ZYNQ和FPGA架构的升级方法、装置和介质。
背景技术
相关技术中,是通过通信接口拆分成1KB左右的数据包传输和校验,再往可编程逻辑门阵列(FPGA,Field Programmable GateArray)的闪存(Flash,FlashEEPROMMemory)中写入数据,完成现场FPGA的固件升级,所需要的升级时间过长,导致升级效率低。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种具有提高FPGA端升级效率的基于ZYNQ和FPGA架构的升级方法。
一种基于ZYNQ和FPGA架构的升级方法,应用于ZYNQ端,包括以下步骤:
获取第一升级文件和第二升级文件,并将第一升级文件和第二升级文件存储至ZYNQ端的内存;其中,第一升级文件用于ZYNQ端的升级,第二升级文件用于FPGA端的升级;
对第一升级文件和第二升级文件进行校验,并在校验通过的情况下,通知FPGA端从ZYNQ端的内存中获取第二升级文件进行校验,并在校验通过的情况下,通知FPGA端从ZYNQ端的内存中获取第二升级文件,以使FPGA端基于第二升级文件进行升级;
响应FPGA端反馈的升级成功指令,基于第一升级文件对ZYNQ端进行升级。
上述方案中,基于ZYNQ和FPGA架构的升级方法还包括:
响应于FPGA端反馈的升级失败指令,放弃基于第一升级文件对ZYNQ端进行升级。
上述方案中,基于ZYNQ和FPGA架构的升级方法还包括:
在设定时间内未接收FPGA端发送的升级反馈信息的情况下,放弃基于第一升级文件对ZYNQ端进行升级。
上述方案中,基于ZYNQ和FPGA架构的升级方法还包括:
根据ZYNQ端的升级标志,确定运行的程序;其中,运行的程序包括第一升级文件对应的升级程序,或Golden程序。
上述方案中,根据ZYNQ端的升级标志,确定运行的程序,包括:
若ZYNQ端的升级标志表征升级成功,基于第一升级文件对应的升级程序启动运行;
若ZYNQ端的升级标志表征升级失败,基于Golden程序启动运行。
上述方案中,在写入ZYNQ端的闪存中的第一升级文件对应的升级程序读取校验成功的情况下,ZYNQ端的升级标志表征升级成功;
在写入ZYNQ端的闪存中的第一升级文件对应的升级程序读取校验失败,或,在基于第一升级文件进行升级的过程中存在异常操作的情况下,ZYNQ端的升级标志表征升级失败。
一种基于ZYNQ和FPGA架构的升级方法,应用于FPGA端,包括以下步骤:
从ZYNQ端的内存中获取第二升级文件,并将第二升级文件写入到FPGA端的闪存中;第二升级文件用于FPGA端的升级;
基于第二升级文件进行升级,并在结束升级后,向ZYNQ端反馈FPGA端的升级状态,以使ZYNQ端基于第一升级文件进行更新;第一升级文件用于ZYNQ端的升级。
一种基于ZYNQ和FPGA架构的升级装置,应用于ZYNQ端,包括:
第一获取模块,用于获取第一升级文件和第二升级文件,并将第一升级文件和第二升级文件存储至ZYNQ端的内存;其中,第一升级文件用于ZYNQ端的升级,第二升级文件用于FPGA端的升级;
校验模块,用于对第一升级文件和第二升级文件进行校验,并在校验通过的情况下,通知FPGA端从ZYNQ端的内存中获取第二升级文件进行校验,并在校验通过的情况下,通知FPGA端从ZYNQ端的内存中获取第二升级文件,以使FPGA端基于第二升级文件进行升级;
第一升级模块,用于响应FPGA端反馈的升级成功指令,基于第一升级文件对ZYNQ端进行升级。
一种基于ZYNQ和FPGA架构的升级装置,应用于FPGA端,包括:
第二获取模块,用于从ZYNQ端的内存中获取第二升级文件,并将第二升级文件写入到FPGA端的闪存中;第二升级文件用于FPGA端的升级;
第二升级模块,用于基于第二升级文件进行升级,并在结束升级后,向ZYNQ端反馈FPGA端的升级状态,以使ZYNQ端基于第一升级文件进行更新;第一升级文件用于ZYNQ端的升级。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述一种基于ZYNQ和FPGA架构的升级方法的步骤。
上述基于ZYNQ和FPGA架构的升级方法、装置及介质,利用ZYNQ端的文件操作优势实现升级文件的接收和校验,再通知FPGA端从ZYNQ端的内存中获取FPGA端的升级文件,能够使FPGA端快速地获取升级文件,从而缩短了FPGA端的升级时间,并提高FPGA端的升级效率。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1为一个实施例中基于ZYNQ和FPGA架构的升级方法的流程示意图;
图2为又一个实施例中基于ZYNQ和FPGA架构的升级方法的流程示意图;
图3为一个实施例中基于ZYNQ和FPGA架构的升级方法的实现流程示意图;
图4为一个实施例中基于ZYNQ和FPGA架构的升级装置的结构框图;
图5为又一个实施例中基于ZYNQ和FPGA架构的升级装置的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的基于ZYNQ和FPGA架构的升级方法。
在一个实施例中,如图1所示,提供了一种基于ZYNQ和FPGA架构的升级方法,该基于ZYNQ和FPGA架构的升级方法应用于ZYNQ端,可包括以下步骤:
步骤S101,获取第一升级文件和第二升级文件,并将第一升级文件和第二升级文件存储至ZYNQ端的内存。
这里,ZYNQ为一个可拓展处理平台,用于视频监视、汽车驾驶员辅助以及工程自动化等高端嵌入式应用提供所需的处理与计算性能水平。
第一升级文件为ZYNQ端的升级文件,通过第一升级文件可以实现对ZYNQ端的固件进行升级,第二升级文件为FPGA端的升级文件,通过第二升级文件可以实现对FPGA端的固件进行升级,其中,第一升级文件和第二升级文件均为二进制文件(bin文件),文件大小一般不超过20MB。
在开发人员验证完成产品功能迭代后的固件功能后,对相关的升级文件进行打包,并压缩上传至云端服务器。软件前端通过比较云端服务器的固件版本是否比设备(包括ZYNQ和FPGA)当前版本更高,提供对应的固件升级按钮。用户可以点击固件升级按钮,对ZYNQ和FPGA的固件进行升级。
在ZYNQ和FPGA存在升级需求的情况下,软件前端开始从云端服务器拉取升级文件,并通知软件后端通过用户数据报协议(UDP,User DatagramProtocol),将升级文件下发至ZYNQ端。ZYNQ将第一升级文件和第二升级文件存储在ZYNQ端的内存中。
一般情况下,是将FPGA的升级文件拆分成1Kb左右的数据包,通过通信接口对拆分的数据包进行单包传输,这种升级文件的传输方法导致FPGA端的升级文件的传输效率较低,而在本实施例中,可以利用ZYNQ的文件操作优势完成FPGA端的第二升级文件的接收,提高了FPGA端的升级文件的传输效率,进而FPGA端的升级效率。
步骤S102,对第一升级文件和第二升级文件进行校验,并在校验通过的情况下,通知FPGA端从ZYNQ端的内存中获取第二升级文件。
在实际应用中,上传到云端服务器的升级文件添加了消息摘要算法(MD5,Message-DigestAlgorithm)校验,在ZYNQ端从云端服务器获取第一升级文件和第二升级文件之后,对第一升级文件和第二升级文件进行MD5校验,能够判断升级文件在云端服务器与ZYNQ端的文件传输过程中是否出错,从而可以避免ZYNQ端和FPGA端在升级的过程中出现异常的情形。
在ZYNQ端进行更新的过程中,可能存在异常的操作使得ZYNQ端无法更新成功,导致ZYNQ无法正常启动,防砖机制能够避免ZYNQ出现更新失败,或者,保护ZYNQ在更新异常的时候也能够正常启动。在本实施例中。可以将对第一升级文件与第二升级文件进行MD5校验作为防砖机制中的一种方法,从而可以保证ZYNQ的正常运行。
在第一升级文件和第二升级文件校验通过的情况下,通过共享ZYNQ端的内存的方式,通知FPGA端从ZYNQ端的内存中获取第二升级文件,获取第二升级文件的FPGA端能够基于第二升级文件进行升级,从而提高了FPGA端的升级效率。
在实际应用中,当第一升级文件或第二升级文件校验不通过,表示升级文件在文件传输过程中存在错误,无法利用第一升级文件和第二升级文件完成固件升级,在这种情况下,放弃本次升级。
步骤S103,响应于FPGA端反馈的升级成功指令,基于第一升级文件对ZYNQ端进行升级。
这里,FPGA端反馈的升级成功指令是由FPGA端基于第二升级文件完成固件升级之后向ZYNQ端反馈的,ZYNQ端等待FPGA端的升级状态,在ZYNQ端接收到FPGA端反馈的升级成功指令后,ZYNQ端响应于FPGA端反馈的升级成功指令,基于第一升级文件对ZYNQ端进行升级。
在一个实施例中,当ZYNQ端接收到FPGA端的升级失败指令,ZYNQ端放弃基于第一升级文件进行升级。可以理解的,在ZYNQ端和FPGA端处于同一版本的固件,使ZYNQ端和FPGA端能够进行数据互传(包括不同的处理指令),从而使ZYNQ端和FPGA端实现配合作业,而在ZYNQ端和FPGA端处于不同版本的固件的情况下,可能导致ZYNQ端或FPGA端上的某些功能无法实现,无法使ZYNQ端和FPGA端配合作业。
在实际应用中,FPGA端反馈的升级成功指令是根据FPGA端的升级标志而确定的,示例地,在FPGA端的升级标志为1的情况下,代表FPGA端升级成功,ZYNQ端能够接收到FPGA端反馈的升级成功指令,在FPGA端的升级标志为0的情况下,代表FPGA端升级失败,ZYNQ端能够接收到FPGA端反馈的升级失败指令。
在一个实施例中,ZYNQ端等待FPGA端发送的升级反馈信息,从而通过升级反馈信息确定FPGA端升级成功或升级失败。在一种情况中,ZYNQ端在设定时间内未接收到FPGA端发送的升级反馈信息,也就是ZYNQ端无法确定FPGA端是否成功完成升级,基于此,ZYNQ端放弃基于第一升级文件对ZYNQ端进行升级。
在一个实施例中,在ZYNQ端同样存在升级标志,ZYNQ端的升级标志可以表征ZYNQ端的升级状态,例如,在ZYNQ端的升级标志为1的情况下,表征ZYNQ端升级成功,在ZYNQ端的升级标志为0的情况下,表征ZYNQ端升级失败。根据ZYNQ端的升级标志,确定ZYNQ端上运行的程序,其中,ZYNQ端上运行的程序可以为第一升级文件对应的升级程序,也可以为设定的Golden程序。
下面通过实施例对ZYNQ端上运行的程序进行说明。
在一个实施例中,ZYNQ端的升级标志表征升级成功,也就是第一升级文件成功写入ZYNQ端,ZYNQ端通过软件重启,能够基于第一升级文件对应的升级程序启动运行。
在一个实施例中,写入ZYNQ端的闪存的第一升级文件对应的升级程序读取校验成功,表明ZYNQ端能够正常运行第一升级文件对应的升级程序,基于此,ZYNQ端的升级标志表征升级成功。
在一个实施例中,在升级过程中ZYNQ出现异常操作(例如,异常断电),或者第一升级文件无法成功写入到ZYNQ端,都会导致ZYNQ端的升级标志表征升级失败,ZYNQ端无法基于第一升级文件对应的升级程序启动运行。为了使ZYNQ端在升级失败的情况下能够正常启动运行,ZYNQ端基于Golden程序启动运行。
在实际应用中,ZYNQ端的闪存中可以存储多个不同的程序,当其中一个程序加载异常时,ZYNQ端将尝试加载另一个程序,通常保证后一个加载的程序能够正常加载,在本实施例中,当第一升级文件对应的升级程序加载异常时,ZYNQ端将加载Golden程序,通过Golden程序使得ZYNQ能够正常启动运行,从而可以避免出现ZYNQ在升级失败时无法运行的情形。
结合上述内容,通过根据ZYNQ端的升级标志确定ZYNQ端运行的程序,如果用户在ZYNQ端升级过程中任意时刻误操作使ZYNQ异常断电,ZYNQ都能正常运行,只是根据ZYNQ断电时刻的不同,ZYNQ端上运行的程序不同,在ZYNQ断电时,ZYNQ端的升级标志表征升级成功,则ZYNQ端基于升级程序启动运行,在ZYNQ断电时,ZYNQ端的升级标志表征升级失败,则ZYNQ端基于Golden程序启动运行。
在一个实施例中,ZYNQ端的升级失败情形通常包括两种,第一种是ZYNQ端在升级过程中存在异常操作,例如异常断电导致升级中断,又或者异常重启导致升级中断;第二种是ZYNQ端写入闪存的第一升级文件的升级程序读取校验失败,也就是第一升级文件对应的升级程序写入到闪存,但无法正常加载。在这两种情形中,ZYNQ端的升级标志表征升级失败。
在上述实施例中,对第一升级文件对应的升级程序进行读写校验,能够规避设备升级异常导致无法正常运行的风险。
下面结合ZYNQ端的升级标志对ZYNQ端的升级过程进行详细说明。
首先擦除ZYNQ端的升级标志,往ZYNQ端的闪存写入第一升级文件,并进行读取检验。如果第一升级文件读取校验成功,置位升级标志,ZYNQ端启动软件复位,写保护闪存Bootrom会进入启动代码,执行升级程序,其中,Bootrom包含处理器在上电或复位时执行的第一个代码,并可以决定加载要执行的代码的下一部分。如果在升级过程中因为异常操作导致ZYNQ断电,或者第一升级文件写入闪存后,读取校验失败,都会结束本次升级,并且不会置位升级标志,ZYNQ端启动软件复位,并执行Golden程序。
在上述实施例中的基于ZYNQ和FPGA架构的升级方法,通过ZYNQ端获取FPGA端的升级文件,能够简化了FPGA端的升级逻辑,提高了FPGA端的升级效率,另外,在ZYNQ端上进行升级文件的校验,能够规避FPGA因升级异常导致无法正常运行的风险。
本发明实施例还提供了另一种基于ZYNQ和FPGA架构的升级方法,应用于FPGA端,如图2所示,可以包括以下步骤:
步骤S201,从ZYNQ端的内存中获取第二升级文件,并将第二升级文件写入FPGA端的闪存中。
第二升级文件用于FPGA端的升级,第二升级文件存储在ZYNQ端的内存中,ZYNQ端可以通过共享运行内存的方式通知FPGA端,FPGA端从ZYNQ端的内存中获取第二升级文件,按照扇区的方式将第二升级文件写入到FPGA端的闪存中,从而可以提高FPGA端获取升级文件的效率。
步骤S202,基于第二升级文件进行升级,并在结束升级后,向ZYNQ端反馈FPGA端的升级状态。
FPGA端基于第二升级文件进行升级,同样地,可以首先擦除FPGA端的升级标志,对写入闪存的第二升级文件进行读写校验,如果第二升级文件通过读写校验,代表FPGA端升级成功,置位FPGA端的升级标志。如果第二升级文件未能通过读写校验,代表FPGA端升级失败,保持FPGA端的升级标志。通过FPGA端的升级标志,向ZYNQ端反馈FPGA端的升级状态,示例地,FPGA端的升级标志为1,向ZYNQ端反馈FPGA端升级成功;FPGA端的升级标志为0,向ZYNQ端反馈FPGA端升级失败,从而ZYNQ端能够根据FPGA端反馈的升级状态进行升级。
在上述实施例中,FPGA端从ZYNQ端的内存中获取第二升级文件,并根据第二升级文件进行升级,从而可以减少FPGA端获取升级文件的时长,提高FPGA端的升级效率,并向ZYNQ端反馈FPGA端的升级状态,能够使ZYNQ端基于第一升级文件进行更新。
如图3所示,图3示出了基于ZYNQ和FPGA架构的升级方法的实现流程示意图。
步骤1,获取升级文件,包括第一升级文件和第二升级文件。
步骤2,对升级文件进行加密。
步骤3,对加密的升级文件进行压缩。
步骤4,上传到云端服务器。
步骤5,软件前端从云端服务器拉取升级文件,包括第一升级文件和第二升级文件。
步骤6,软件后端将升级文件下发至ZYNQ端。
步骤7,判断升级文件是否校验成功。若升级文件校验成功,执行步骤8,若升级文件不成功,执行步骤10。
步骤8,通知FPGA端获取第一升级文件。
步骤9,FPGA端是否升级成功。若FPGA端升级失败,执行步骤10;若FPGA端升级成功,执行步骤11。
步骤10,结束本次升级操作。
步骤11,ZYNQ端开始升级,擦除升级标志。
步骤12,ZYNQ端是否升级成功。若ZYNQ端升级失败,执行步骤13;若ZYNQ端升级成功,执行步骤14。
步骤13,结束本次升级操作,并断电重启。之后执行步骤15。
步骤14,置位升级标志。
步骤15,进入启动程序。
步骤16,升级标志是否表征升级成功。若升级标志表征升级成功,执行步骤17;若升级标志表征升级失败,执行步骤18。
步骤17,ZYNQ端基于升级程序启动运行。
步骤18,ZYNQ端基于Golden程序启动运行。
在一个实施例中,提供一种基于ZYNQ和FPGA架构的升级装置,参考图4所示,该基于ZYNQ和FPGA架构的升级装置400应用于ZYNQ端,可包括:第一获取模块401、校验模块402和第一升级模块403。
其中,第一获取模块401用于获取第一升级文件和第二升级文件,并将第一升级文件和第二升级文件存储至ZYNQ端的内存;其中,第一升级文件用于ZYNQ端的升级,第二升级文件用于FPGA端的升级;校验模块402用于对第一升级文件和第二升级文件进行校验,并在校验通过的情况下,通知FPGA端从ZYNQ端的内存中获取第二升级文件,以使FPGA端基于第二升级文件进行升级;第一升级模块403用于响应FPGA端反馈的升级成功指令,基于第一升级文件对ZYNQ端进行升级。
在一个实施例中,第一升级模块403还用于,响应于FPGA端反馈的升级失败指令,放弃基于第一升级文件对ZYNQ端进行升级。
在一个实施例中,第一升级模块403还用于,在设定时间内未接收FPGA端发送的升级反馈信息的情况下,放弃基于第一升级文件对ZYNQ端进行升级。
在一个实施例中,基于ZYNQ和FPGA架构的升级装置400还包括运行模块,用于根据ZYNQ端的升级标志,确定运行的程序;其中,运行的程序包括第一升级文件对应的升级程序,或Golden程序。
在一个实施例中,运行模块具体用于,若ZYNQ端的升级标志表征升级成功,基于第一升级文件对应的升级程序启动运行;若ZYNQ端的升级标志表征升级失败,基于Golden程序启动运行。
在一个实施例中,在写入ZYNQ端的闪存的第一升级文件对应的升级程序读取校验成功的情况下,ZYNQ端的升级标志表征升级成功;在写入ZYNQ端的闪存中的第一升级文件对应的升级程序读取校验失败,或,在基于第一升级文件进行升级的过程中存在异常操作的情况下,ZYNQ端的升级标志表征升级失败。
在一个实施例中,提供另一种基于ZYNQ和FPGA架构的升级装置,参考图5所示,该基于ZYNQ和FPGA架构的升级装置500应用于FPGA端,可包括:第二获取模块501和第二升级模块502。
其中,第二获取模块501用于从ZYNQ端的内存中获取第二升级文件,并将第二升级文件写入到FPGA端的闪存中;第二升级文件用于FPGA端的升级;第二升级模块用于基于第二升级文件进行升级,并在结束升级后,向ZYNQ端反馈FPGA端的升级状态,以使ZYNQ端基于第一升级文件进行更新;第一升级文件用于ZYNQ端的升级。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种基于ZYNQ和FPGA架构的升级方法,其特征在于,应用于ZYNQ端,包括:
获取第一升级文件和第二升级文件,并将所述第一升级文件和所述第二升级文件存储至ZYNQ端的运行内存;其中,所述第一升级文件用于所述ZYNQ端的升级,所述第二升级文件用于FPGA端的升级,所述第一升级文件和所述第一升级文件中携带有消息摘要算法MD5校验信息;
对所述第一升级文件和所述第二升级文件进行MD5校验,并在校验通过的情况下,通知所述FPGA端从所述ZYNQ端的运行内存中获取所述第二升级文件,以使所述FPGA端通过共享ZYNQ端的运行内存的方式获取所述第二升级文件,并基于所述第二升级文件进行升级;
响应于所述FPGA端反馈的升级成功指令,基于所述第一升级文件对所述ZYNQ端进行升级。
2.根据权利要求1所述的基于ZYNQ和FPGA架构的升级方法,其特征在于,所述方法还包括,包括:
响应于所述FPGA端反馈的升级失败指令,放弃基于所述第一升级文件对所述ZYNQ端进行升级。
3.根据权利要求1或2所述的基于ZYNQ和FPGA架构的升级方法,所述方法还包括:
在设定时间内未接收FPGA端发送的升级反馈信息的情况下,放弃基于所述第一升级文件对所述ZYNQ端进行升级。
4.根据权利要求1所述的基于ZYNQ和FPGA架构的升级方法,所述方法还包括:
根据所述ZYNQ端的升级标志,确定运行的程序;其中,运行的程序包括所述第一升级文件对应的升级程序,或Golden程序。
5.根据权利要求4所述的基于ZYNQ和FPGA架构的升级方法,其特征在于,所述根据所述ZYNQ端的升级标志,确定运行的程序,包括:
若所述ZYNQ端的升级标志表征升级成功,基于所述第一升级文件对应的升级程序启动运行;
若所述ZYNQ端的升级标志表征升级失败,基于所述Golden程序启动运行。
6.根据权利要求4或5所述的基于ZYNQ和FPGA架构的升级方法,其特征在于,包括:
在写入ZYNQ端的闪存中的所述第一升级文件对应的升级程序读取校验成功的情况下,所述ZYNQ端的升级标志表征升级成功;
在写入ZYNQ端的闪存中的所述第一升级文件对应的升级程序读取校验失败,或,在基于所述第一升级文件进行升级的过程中存在异常操作的情况下,所述ZYNQ端的升级标志表征升级失败。
7.一种基于ZYNQ和FPGA架构的升级方法,其特征在于,应用于FPGA端,包括:
在第一升级文件和第二升级文件MD5校验通过、且在ZYNQ端通知所述FPGA端从所述ZYNQ端的运行内存中获取所述第二升级文件的情况下,通过共享ZYNQ端的运行内存的方式,从ZYNQ端的运行内存中获取第二升级文件,并将所述第二升级文件写入到FPGA端的闪存中;所述第二升级文件用于所述FPGA端的升级,所述第一升级文件和所述第二升级文件存储在ZYNQ端的运行内存,所述第一升级文件和所述第一升级文件中携带有消息摘要算法MD5校验信息;
基于所述第二升级文件进行升级,并在结束升级后,向所述ZYNQ端反馈所述FPGA端的升级状态,以使所述ZYNQ端基于第一升级文件进行更新;所述第一升级文件用于所述ZYNQ端的升级。
8.一种基于ZYNQ和FPGA架构的升级装置,应用于ZYNQ端,包括:
第一获取模块,用于获取第一升级文件和第二升级文件,并将所述第一升级文件和所述第二升级文件存储至ZYNQ端的运行内存;其中,所述第一升级文件用于ZYNQ端的升级,所述第二升级文件用于FPGA端的升级,所述第一升级文件和所述第一升级文件中携带有消息摘要算法MD5校验信息;
校验模块,用于对所述第一升级文件和所述第二升级文件进行MD5校验,并在校验通过的情况下,通知所述FPGA端从ZYNQ端的运行内存中获取所述第二升级文件,以使所述FPGA端通过共享ZYNQ端的运行内存的方式获取所述第二升级文件,并基于所述第二升级文件进行升级;
第一升级模块,用于响应于所述FPGA端反馈的升级成功指令,基于所述第一升级文件对所述ZYNQ端进行升级。
9.一种基于ZYNQ和FPGA架构的升级装置,应用于FPGA端,包括:
第二获取模块,用于在第一升级文件和第二升级文件MD5校验通过、且在ZYNQ端通知所述FPGA端从所述ZYNQ端的运行内存中获取所述第二升级文件的情况下,通过共享ZYNQ端的运行内存的方式,从ZYNQ端的运行内存中获取第二升级文件,并将第二升级文件写入到FPGA端的闪存中;所述第二升级文件用于所述FPGA端的升级,所述第一升级文件和所述第二升级文件存储在ZYNQ端的运行内存,所述第一升级文件和所述第一升级文件中携带有消息摘要算法MD5校验信息;
第二升级模块,用于基于所述第二升级文件进行升级,并在结束升级后,向所述ZYNQ端反馈所述FPGA端的升级状态,以使所述ZYNQ端基于第一升级文件进行更新;所述第一升级文件用于所述ZYNQ端的升级。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述基于ZYNQ和FPGA架构的升级方法的步骤,或者,执行权利要求7所述基于ZYNQ和FPGA架构的升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310094431.8A CN115857998B (zh) | 2023-02-10 | 2023-02-10 | 基于zynq和fpga架构的升级方法、装置和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310094431.8A CN115857998B (zh) | 2023-02-10 | 2023-02-10 | 基于zynq和fpga架构的升级方法、装置和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115857998A CN115857998A (zh) | 2023-03-28 |
CN115857998B true CN115857998B (zh) | 2023-05-23 |
Family
ID=85657837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310094431.8A Active CN115857998B (zh) | 2023-02-10 | 2023-02-10 | 基于zynq和fpga架构的升级方法、装置和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115857998B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017041567A1 (zh) * | 2015-09-07 | 2017-03-16 | 武汉精测电子技术股份有限公司 | 基于软核处理器的fpga多镜像升级加载方法及装置 |
CN107819883A (zh) * | 2017-12-13 | 2018-03-20 | 天津光电通信技术有限公司 | 一种多信号处理设备及其对fpga程序的远程升级方法 |
CN112015449A (zh) * | 2020-08-24 | 2020-12-01 | 中国电子科技集团公司第五十八研究所 | 基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550004B (zh) * | 2016-01-05 | 2018-11-23 | 新达通科技股份有限公司 | 一种多系统的升级装置及方法 |
CN107918545A (zh) * | 2017-12-13 | 2018-04-17 | 天津光电通信技术有限公司 | 一种基于zynq的远程升级系统及其实现方法 |
CN109656593B (zh) * | 2018-12-07 | 2022-04-15 | 天津光电通信技术有限公司 | 基于zynq芯片实现fpga程序远程升级的方法 |
CN111142914B (zh) * | 2019-12-31 | 2021-05-28 | 南京中科晶上通信技术有限公司 | 一种基于zynq固件升级的方法及计算机可读存储介质 |
CN112783818B (zh) * | 2020-12-30 | 2024-07-30 | 加弘科技咨询(上海)有限公司 | 一种多核嵌入式系统的在线升级方法及系统 |
CN113553081A (zh) * | 2021-07-26 | 2021-10-26 | 成都亿凌特科技有限公司 | 一种基于zynq芯片的fpga加载方法 |
CN113867836B (zh) * | 2021-09-24 | 2024-06-11 | 哈尔滨工程大学 | 用于fpga的装置、程序动态加载方法及数据传输方法 |
CN114168171A (zh) * | 2021-11-08 | 2022-03-11 | 陕西千山航空电子有限责任公司 | 一种程序在线分段升级方法及其应用 |
CN114153485B (zh) * | 2021-12-06 | 2024-07-02 | 成都航天通信设备有限责任公司 | 基于高速口的多处理器程序升级方法及装置 |
CN114968299A (zh) * | 2022-04-21 | 2022-08-30 | 中国电子科技集团公司第五十八研究所 | 基于Multiboot设备固件升级及异常处理方法 |
-
2023
- 2023-02-10 CN CN202310094431.8A patent/CN115857998B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017041567A1 (zh) * | 2015-09-07 | 2017-03-16 | 武汉精测电子技术股份有限公司 | 基于软核处理器的fpga多镜像升级加载方法及装置 |
CN107819883A (zh) * | 2017-12-13 | 2018-03-20 | 天津光电通信技术有限公司 | 一种多信号处理设备及其对fpga程序的远程升级方法 |
CN112015449A (zh) * | 2020-08-24 | 2020-12-01 | 中国电子科技集团公司第五十八研究所 | 基于zlib压缩算法下的ZYNQ FPGA异构平台在线升级的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115857998A (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8041988B2 (en) | Firmware update for consumer electronic device | |
TWI386847B (zh) | 可安全復原的韌體更新方法及可安全復原之韌體更新的嵌入式電子裝置 | |
US8972591B2 (en) | Method for downloading software | |
US20100169709A1 (en) | System Of Updating Firmware And Method Thereof, And Method Of Creating Firmware | |
US7761733B2 (en) | Image-processing system, image-processing method, and computer readable storage medium | |
CN106610840A (zh) | 一种无线固件升级方法及系统 | |
CN112612524A (zh) | Linux系统启动的方法、装置、设备及存储介质 | |
CN112416411B (zh) | 升级方法及装置、设备端、服务器、计算机可读介质 | |
CN106293621B (zh) | 一种固件升级方法及装置 | |
CN115145650A (zh) | 信息处理装置、存储介质及信息处理方法 | |
CN115857998B (zh) | 基于zynq和fpga架构的升级方法、装置和介质 | |
CN116521201B (zh) | 电池包的软件升级方法和电池包 | |
US20230132494A1 (en) | Information processing apparatus, method of controlling the same, and storage medium | |
WO2021012170A1 (zh) | 固件启动方法、设备及计算机可读存储介质 | |
KR100832269B1 (ko) | 무선 통신 단말의 프로그램 갱신 방법 및 시스템 | |
CN114546455A (zh) | 一种双分区的mcu软件升级方法及装置 | |
CN110908722B (zh) | 应用于操作系统启动的方法、装置、电子设备及存储介质 | |
US9529581B2 (en) | Circuit and method for writing program codes of basic input/output system | |
CN112667444A (zh) | 一种系统升级方法、存储介质及终端设备 | |
CN114995845A (zh) | Ota升级方法和设备 | |
CN112152836B (zh) | 小存储容量设备的远程固件自动升级方法、系统及芯片 | |
CN115686919A (zh) | 一种非易失存储装置、固件损坏处理方法、升级方法 | |
CN117971273A (zh) | Mcu软件更新方法、电池管理系统和计算机可读存储介质 | |
CN112905218B (zh) | 一种固件升级方法、装置及设备 | |
CN118760457A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 230088 floor 1-4, zone a, building E2, phase II, innovation industrial park, No. 2800, innovation Avenue, high tech Zone, Hefei, Anhui Province Patentee after: Guoyi Quantum Technology (Hefei) Co.,Ltd. Address before: 230088 floor 1-4, zone a, building E2, phase II, innovation industrial park, No. 2800, innovation Avenue, high tech Zone, Hefei, Anhui Province Patentee before: Guoyi Quantum (Hefei) Technology Co.,Ltd. |