【技术实现步骤摘要】
一种FPGA远程升级方法、系统和存储介质
[0001]本专利技术涉及可编程逻辑器件
,特别是涉及一种FPGA远程升级方法、系统和存储介质。
技术介绍
[0002]远程升级是现场可编程门阵列(FPGA)的一个主要优点,通过升级能够增强系统功能。现有技术中位流升级更新与启动加载是不分离的,对于某些应用,更新完位流后,但不宜立即启动的情况,不够灵活方便。现有技术中的存储器对位流个数有限制,如需存储的位流数量比较多则会造成不便。在现有远程升级技术中,对于存储器中已有的位流,不能从一个应用位流升级到另一个应用位流,且在更新位流时,没有进行校验或仅进行一次校验。而在接收位流及写入位流的过程中,均可能发生错误,如不进行校验或仅进行一次校验则会导致由于位流错误而不能成功配置FPGA,在远程升级的过程中会导致整个系统陷入死循环,影响FPGA的可靠性及稳定性。
技术实现思路
[0003]本专利技术的目的在于克服现有技术中存在的不足,并提供一种FPGA远程升级方法、系统和存储介质,以解决位流升级更新与启动加载不分离的技术问题 ...
【技术保护点】
【技术特征摘要】
1.一种FPGA远程升级方法,其特征在于,包括以下步骤:在非易失性存储器中写入数据流文件,所述数据流文件按照存储地址顺序依次包括各应用位流的配置程序、黄金位流和各应用位流,每个所述应用位流的配置程序顺序包括开关程序和跳转程序,所述开关程序用于启动对应的所述跳转程序,所述跳转程序用于跳转并载入指定位置的应用位流;接收并缓存上位机发送的升级版本的应用位流,擦除所述非易失性存储器中存储的对应原版本的应用位流,对缓存的所述升级版本的应用位流进行接收校验;若接收校验通过,将缓存的所述升级版本的应用位流写入所述非易失性存储器的对应存储区域;回读所述非易失性存储器中存储的所述升级版本的应用位流,对回读的所述升级版本的应用位流进行写入校验;若写入校验通过,则在接收到所述升级版本的应用位流的加载指令时,关闭当前运行的所述开关程序,启动所述升级版本的应用位流的开关程序以加载所述升级版本的应用位流;若加载所述升级版本的应用位流失败,则关闭对应的所述开关程序以加载所述黄金位流。2.根据权利要求1所述的FPGA远程升级方法,其特征在于:所述非易失性存储器包括FLASH芯片,所述FLASH芯片至少包括SPI FLASH和BPI FLASH中的任意一种。3.根据权利要求1所述的FPGA远程升级方法,其特征在于:所述在非易失性存储器中写入数据流文件,包括:获取所述非易失性存储器的第一存储空间的初始存储地址;从所述第一存储空间的初始存储地址开始存储所述配置程序中的程序数据,每存储一个所述程序数据,在存储所述程序数据对应的存储地址上加1,其中,所述第一存储空间的比特数大于或等于所述配置程序的比特数;将存储地址加预设数目,得到第二存储空间的起始存储地址,从所述第二存储空间的起始存储地址开始存储所述黄金位流中的位流数据,其中,所述预设数目为大于或等于零的整数,所述第二存储空间的比特数大于或等于所述黄金位流的比特数;将存储地址加预设数目,得到第三存储空间的起始存储地址,从所述第三存储空间的起始存储地址开始存储第一个应用位流中的位流数据,其中,所述预设数目为大于或等于零的整数,所述第三存储空间的比特数大于或等于所述第一个应用位流的比特数;重复上述步骤,直至所有应用位流存储完毕;将各所述应用位流的起始存储地址分别写入所述第一存储区域中对应各跳转程序。4.根据权利要求1所述的FPGA远程升级方法,其特征在于:所述对缓存的所述升级版本的应用位流进行接收校验,包括:利用CRC校验算法分别获取所述上位机中升级版本的应用位流的第一CRC校验码以及缓存的升级版本的应用位流的第二CRC校验码,判断所述第一CRC校验...
【专利技术属性】
技术研发人员:张航,彭祥吉,
申请(专利权)人:深圳市紫光同创电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。