一种FPGA升级方法和装置、计算机可读存储介质制造方法及图纸

技术编号:36100610 阅读:15 留言:0更新日期:2022-12-28 13:59
本申请实施例公开了一种FPGA升级方法和装置、计算机可读存储介质,FPGA下挂的Flash被划分为第一区域和第二区域;CPU和FPGA之间进行分级管理,CPU设置为对FPGA的升级状态进行监控;该方法包括:将升级数据以倒序方式写入所述Flash;当所述FPGA从所述第一区域和所述第二区域均启动失败时,由CPU辅助所述FPGA进行启动。通过该实施例方案,保证了无论备份区域异常还是用户区域异常都能正常恢复,提高了FPGA升级的可靠性,降低了故障返厂率,提高了系统升级可靠性。系统升级可靠性。系统升级可靠性。

【技术实现步骤摘要】
一种FPGA升级方法和装置、计算机可读存储介质


[0001]本文涉及元器件应用技术,尤指一种FPGA升级方法和装置、计算机可读存储介质。

技术介绍

[0002]FPGA(Field Programmable Gate Array,现场可编程门阵列)由于其价格低廉和应用灵活性,常在分布式图像处理系统中得以广泛应用,图1为常见应用架构图。在基于FPGA的分布式架构应用系统中,会存在多颗FPGA。在该系统中,FPGA的稳定性直接决定整个系统的稳定性。
[0003]为了满足不同的应用需求,需要对当前系统的FPGA进行软件版本的升级迭代。在对FPGA升级过程中,由于一些异常操作或突发情况就会导致FPGA升级无法完成。在分布式FPGA架构中,通过JTAG(Joint Test Action Group,联合测试工作组)加载FPGA方式效率低且大大增加了系统启动时间。采用每颗FPGA下挂Flash(闪存)使FPGA通过Flash启动以提高系统启动时间。
[0004]在FPGA+Flash的升级方案中,为了提高升级安全性,目前对Flash采用乒乓机制进行管理升级。即将Flash划分为两个区域,一个区域存放默认出厂的版本,另一个区域为用户区域,用于用户版本的更新迭代。由于出厂默认版本不可更改,且随着运行时间加长,Flash默认出厂区域可能出现坏块等异常现象。当再次遇到用户区域升级异常后,恢复出厂版本就会异常。由于备份区域和用户区域都出现异常,这时系统就无法启动,必须返厂才能解决。在分布式应用系统中FPGA数量较多,增加了由FPGA升级异常造成的返厂维修概率,同时也增加了维护成本且升级可靠性低。
[0005]目前提出的提高FPGA升级可靠性的手段,主要将一颗Flash划分为两个区域,其中一个区域作为备份区域只存储出厂版本,另外一个区域用于用户版本的升级迭代,从而降低升级用户区域时发生异常无法恢复的问题。然而,备份区域只在出厂时固化,无法修改,一旦发生异常就必须返厂修复,并且升级用户区域时无校验,当升级过程发生异常后也会导致无法从用户区域启动的问题,也无法正常恢复。

技术实现思路

[0006]本申请实施例提供了一种FPGA升级方法和装置、计算机可读存储介质,能够提高FPGA升级的可靠性,降低故障返厂率,提高系统升级可靠性。
[0007]本申请实施例提供了一种FPGA升级方法,现场可编程门阵列FPGA下挂的闪存Flash被划分为第一区域和第二区域;CPU和所述FPGA之间进行分级管理,所述CPU设置为对所述FPGA的升级状态进行监控;所述方法可以包括:
[0008]将升级数据以倒序方式写入所述Flash;
[0009]当所述FPGA从所述第一区域和所述第二区域均启动失败时,由CPU辅助所述FPGA进行启动。
[0010]在本申请的示例性实施例中,所述由CPU辅助所述FPGA进行启动,可以包括:
[0011]由所述CPU通过联合测试工作组JTAG将启动Boot文件载入所述FPGA的随机存取存储器RAM中,使所述FPGA从所述RAM加载启动。
[0012]在本申请的示例性实施例中,所述Boot文件是仅保留了升级功能的Boot文件。
[0013]在本申请的示例性实施例中,所述方法还可以包括:
[0014]在所述FPGA启动后对所述第一区域和所述第二区域进行升级;
[0015]当所述FPGA升级异常无法正常恢复时,通过JTAG链路对所述FPGA进行恢复。
[0016]在本申请的示例性实施例中,所述方法还可以包括:
[0017]在对所述第一区域和所述第二区域进行升级之前,CPU获取Flash文件的校验码,并将该Flash文件的校验码与当前系统版本中的校验码进行比对;
[0018]当所述第一区域和所述第二区域中的任意一个区域比对不通过时,对该比对不通过的区域进行升级。
[0019]在本申请的示例性实施例中,所述方法还可以包括:
[0020]在所述Flash开始升级之前,保持所述Flash的硬件写保护处于打开状态;
[0021]在所述Flash开始升级之后,关闭所述Flash的硬件写保护;
[0022]在向所述第一区域和所述第二区域中待升级的区域写入升级数据以后,打开所述Flash的硬件写保护。
[0023]在本申请的示例性实施例中,所述方法还可以包括:
[0024]在所述Flash开始升级之后,擦除所述第一区域或所述第二区域;
[0025]在向所述第一区域和所述第二区域中待升级的区域写入升级数据以后,打开全部区域的软件写保护。
[0026]在本申请的示例性实施例中,所述将升级数据以倒序方式写入所述Flash可以包括:
[0027]从升级数据对应的全部升级地址中升级地址最高处开始写入相应的升级文件,依次降低升级地址,直至最后一个数据包写入head文件,以将所述升级数据以倒序方式写入所述Flash。
[0028]在本申请的示例性实施例中,所述第一区域可以包括:用户区域;所述第二区域可以包括:备份区域。
[0029]本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的FPGA升级方法。
[0030]本申请实施例还提供了一种FPGA升级启动装置,可以包括处理器和计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令被所述处理器执行时,实现上述任意一项所述的FPGA升级方法。
[0031]与相关技术相比,本申请实施例的现场可编程门阵列FPGA下挂的闪存Flash被划分为第一区域和第二区域;CPU和所述FPGA之间进行分级管理,所述CPU设置为对所述FPGA的升级状态进行监控;所述方法包括:将升级数据以倒序方式写入所述Flash;当所述FPGA从所述第一区域和所述第二区域均启动失败时,由CPU辅助所述FPGA进行启动。通过该实施例方案,保证了无论备份区域异常还是用户区域异常都能正常恢复,提高了FPGA升级的可靠性,降低了故障返厂率,提高了系统升级可靠性。
[0032]本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变
得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
[0033]附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
[0034]图1为相关技术中基于FPGA的分布式架构示意图;
[0035]图2为本申请实施例的FPGA升级方法示意图;
[0036]图3为相关的FPGA的升级系统中的升级机制示意图;
[0037]图4为相关的升级文件结构示意图;
[0038]图5为本申请实施例的FPGA升级示意图;
[0039]图6为本申请实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种FPGA升级方法,其特征在于,现场可编程门阵列FPGA下挂的闪存Flash被划分为第一区域和第二区域;CPU和所述FPGA之间进行分级管理,所述CPU设置为对所述FPGA的升级状态进行监控;所述方法包括:将升级数据以倒序方式写入所述Flash;当所述FPGA从所述第一区域和所述第二区域均启动失败时,由CPU辅助所述FPGA进行启动。2.根据权利要求1所述的FPGA升级方法,其特征在于,所述由CPU辅助所述FPGA进行启动,包括:由所述CPU通过联合测试工作组JTAG将启动Boot文件载入所述FPGA的随机存取存储器RAM中,使所述FPGA从所述RAM加载启动。3.根据权利要求2所述的FPGA升级方法,其特征在于,所述Boot文件是仅保留了升级功能的Boot文件。4.根据权利要求1所述的FPGA升级方法,其特征在于,所述方法还包括:在所述FPGA启动后对所述第一区域和所述第二区域进行升级;当所述FPGA升级异常无法正常恢复时,通过JTAG链路对所述FPGA进行恢复。5.根据权利要求1所述的FPGA升级方法,其特征在于,所述方法还包括:在对所述第一区域和所述第二区域进行升级之前,CPU获取Flash文件的校验码,并将该Flash文件的校验码与当前系统版本中的校验码进行比对;当所述第一区域和所述第二区域中的任意一个区域比对不通过时,对该比对不通过的区域进行升级。6....

【专利技术属性】
技术研发人员:何先铃
申请(专利权)人:浙江宇视科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1