用于ZYNQ的FLASH存储芯片及使用其的软件升级方法和启动方法技术

技术编号:39320658 阅读:14 留言:0更新日期:2023-11-12 16:01
本发明专利技术提供了一种用于ZYNQ的FLASH存储芯片及使用其的软件升级方法和启动方法,该FLASH存储芯片包括两个相同的镜像存储区,任一镜像存储区均包括FSBL存储区、BCH校验码存储区、PL文件头存储区、PL存储区、PS文件头存储区、PS存储区、4个文件复制器存储区和告警状态存储区,4个文件复制器存储区分别用来存储PL程序文件复制进度、PS程序文件文件复制进度、PL_BCH校验码文件复制进度以及PS_BCH校验码文件复制进度。应用本发明专利技术的技术方案,能够解决现有技术中FLASH器件因长期贮存或受干扰等因素引起数据丢失或位翻转,导致软件加载异常、工作异常等技术问题。工作异常等技术问题。工作异常等技术问题。

【技术实现步骤摘要】
用于ZYNQ的FLASH存储芯片及使用其的软件升级方法和启动方法


[0001]本专利技术涉及嵌入式处理
,尤其涉及一种用于ZYNQ的FLASH存储芯片及使用其的软件升级方法和启动方法。

技术介绍

[0002]国产ZYNQ是目前应用较为广泛的全国产化ZYNQ替代处理器芯片,作为新一代全可编程片上系统,其集成了一个双核ARM(高级微处理器)和一个FPGA(现场可编程门阵列)逻辑部件,通常搭配NAND FLASH芯片使用,FLASH用来作为程序文件在加载运行前的存储芯片。但受制作工艺的限制,NAND FLASH芯片的数据会由于电磁干扰、长期贮存、编写擦除周期次数的增多等原因而发生翻转,位翻转后会导致程序文件加载错误,从而引起设备软件启动失败。
[0003]目前,解决位翻转问题的主要技术手段是通过硬件或软件实现编码纠错方法,实现对存储文件的位纠错。但这类方法面临纠错能力有限和处理资源成本提高的问题,实际上在对软件启动时间要求较高的应用场景下,还需要考虑纠错处理时间的问题。近年来,随着存储技术的发展,大容量NAND FLASH存储芯片成本大幅下降,设备搭载的FLASH存储芯片的容量通常有较大余量,双区镜像备份应用模式日益增多。双区镜像备份是设置两个相同的镜像程序文件存储区,通常分为主区和备份区,优先启动主区的程序文件,主区文件被检测异常后则自动启用备份区文件进行启动。双区镜像备份方法能够解决其中一个区发生大面积坏区或较多位翻转而引起的启动失败问题,在一定程度上,能够有效降低因其中一个区的FLASH位翻转或大面积坏区导致的启动失败问题,但当两个存储区均发生FLASH位翻转或大面积坏区时,同样会导致软件启动失败。

技术实现思路

[0004]本专利技术旨在至少解决现有技术中存在的技术问题之一。
[0005]根据本专利技术的一方面,提供了一种用于ZYNQ的FLASH存储芯片,该FLASH存储芯片包括两个相同的镜像存储区,任一镜像存储区均包括FSBL存储区、BCH校验码存储区、PL文件头存储区、PL存储区、PS文件头存储区、PS存储区、4个文件复制器存储区和告警状态存储区,4个文件复制器存储区分别用来存储PL程序文件复制进度、PS程序文件文件复制进度、PL_BCH校验码文件复制进度以及PS_BCH校验码文件复制进度。
[0006]根据本专利技术的另一方面,提供了一种基于ZYNQ的软件升级方法,该基于ZYNQ的软件升级方法基于如上所述的FLASH存储芯片实现软件升级。
[0007]进一步地,基于ZYNQ的软件升级方法包括:
[0008](1)对FLASH存储芯片的双镜像存储区进行存储空间分配;
[0009](2)对FLASH存储芯片的双镜像存储区进行烧写完成FLASH固化;
[0010](3)接收待升级文件,识别待升级文件类型;
[0011](4)缓存待升级类型的程序文件,在接收缓存的同时,计算待升级类型的文件的BCH纠错编码和校验码,形成纠错编码文件;
[0012](5)判断当前是否有文件正在更新,若有文件正在更新,则向用户告警当前状态并听令终止更新,若没有文件正在更新,则执行步骤(6)对A区升级;
[0013](6)对缓存的程序文件进行校验判断,若缓存的程序文件校验未通过,则向用户告警并返回缓存待升级类型的程序文件;若缓存的程序文件校验通过,则将A区擦除,将缓存的新版本文件更新在A区,同时将新版本文件对应的BCH纠错编码文件更新在A区,更新A区文件复制器标记,回读FLASH文件并校验,若回读校验未通过,则更新A区文件复制器标记,向用户告警,返回将A区擦除;若回读校验通过,则更新A区文件复制器标记,查询B区文件复制器标记,判断B区文件是否更新完成,若B区未更新完,则将A区镜像搬移至B区,覆盖B区原有镜像,更新B区文件复制器标记,返回判断B区文件是否更新完成;若B区文件已完成更新,则更新B区文件复制器标记。
[0014]进一步地,在步骤(1)中,每个文件复制器占用一个扇区的存储区域。
[0015]进一步地,在步骤(4)中,每128Byte的程序数据生成一个16bit的BCH校验码。
[0016]进一步地,在步骤(6)中,将A区镜像搬移至B区覆盖B区原有镜像,包括搬移A区镜像的程序文件和BCH编码纠错文件。
[0017]根据本专利技术的另一方面,提供了一种基于ZYNQ的软件启动方法,该基于ZYNQ的软件启动方法基于如上所述的FLASH存储芯片实现软件启动。
[0018]进一步地,基于ZYNQ的软件启动方法包括:
[0019](1)引导ROM查找文件头并校验通过后,加载启动FSBL,对A区镜像进行加载校验;
[0020](2)判断A区镜像是否校验通过,若A区镜像校验通过,则跳转到A区运行地址启动运行软件,查询B区文件复制器标记,判断B区文件是否已更新完成,若B区文件已更新完成,则更新B区文件复制器标记;若B区文件更新未完成,则将A区镜像更新至B区,覆盖B区原有的镜像,而后更新B区文件复制器标记,返回判断B区文件是否已更新完成;若A区镜像校验未通过,则执行步骤(3);
[0021](3)判断B区更新是否完成,若B区更新完成,则加载B区镜像,判断B区镜像是否校验通过,若B区镜像校验通过,则跳转到B区运行地址,运行B区镜像,将B区更新到A区替换A区版本,将B区程序文件对应的BCH编码文件存储在A区,而后更新A区文件复制器标记;若B区镜像校验未通过,则执行B区纠错,向用户报出告警状态,纠错后跳转到B区运行地址,软件启动后执行B区FLASH纠错后的更新;若B区未更新完,则对A区进行纠错,并向用户报出告警状态,纠错后跳转到A区运行地址,软件启动后执行A区FLASH纠错后的更新。
[0022]进一步地,在步骤(2)中,若B区文件更新未完成则将A区镜像更新至B区,覆盖B区原有的镜像,包含将A区镜像的纠错文件和回读更新至B区。
[0023]应用本专利技术的技术方案,提供了一种用于ZYNQ的FLASH存储芯片及使用其的软件升级方法和启动方法,该用于ZYNQ的FLASH存储芯片设置有两个相同的镜像存储区,任一镜像存储区内均设置有BCH校验码存储区。本专利技术的FLASH存储芯片同时具有编码纠错方法和双区镜像备份方法的优点,编码纠错方法在纠错能力范围内,能够纠正所有随机位翻转,而双区镜像备份方法能够有效解决寻址地址较为集中的大面积坏区或较多位翻转问题。编码纠错方法具有处理时间长的问题,而双区镜像备份方法具有启动速度快的优势,在面对启
动时间要求较高的场景,需要优先使用双区镜像备份方法,当两个存储区文件均启动失败时,以编码纠错方法作为保底手段,两种方法形成优势互补,从而能够大大提高软件启动的成功率。应用本专利技术的技术方案,能够解决现有技术中FLASH器件因长期贮存或受干扰等因素引起数据丢失或位翻转,导致软件加载异常、工作异常等技术问题。
附图说明
[0024]所包括的附图用来提供对本专利技术实施例的进一步的理解,其构成了说明书的一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于ZYNQ的FLASH存储芯片,其特征在于,所述FLASH存储芯片包括两个相同的镜像存储区,任一镜像存储区均包括FSBL存储区、BCH校验码存储区、PL文件头存储区、PL存储区、PS文件头存储区、PS存储区、4个文件复制器存储区和告警状态存储区,4个文件复制器存储区分别用来存储PL程序文件复制进度、PS程序文件文件复制进度、PL_BCH校验码文件复制进度以及PS_BCH校验码文件复制进度。2.一种基于ZYNQ的软件升级方法,其特征在于,所述基于ZYNQ的软件升级方法基于如权利要求1所述FLASH存储芯片实现软件升级。3.根据权利要求2所述的基于ZYNQ的软件升级方法,其特征在于,所述基于ZYNQ的软件升级方法包括:(1)对FLASH存储芯片的双镜像存储区进行存储空间分配;(2)对FLASH存储芯片的双镜像存储区进行烧写完成FLASH固化;(3)接收待升级文件,识别待升级文件类型;(4)缓存待升级类型的程序文件,在接收缓存的同时,计算待升级类型的文件的BCH纠错编码和校验码,形成纠错编码文件;(5)判断当前是否有文件正在更新,若有文件正在更新,则向用户告警当前状态并听令终止更新,若没有文件正在更新,则执行步骤(6)对A区升级;(6)对缓存的程序文件进行校验判断,若缓存的程序文件校验未通过,则向用户告警并返回缓存待升级类型的程序文件;若缓存的程序文件校验通过,则将A区擦除,将缓存的新版本文件更新在A区,同时将新版本文件对应的BCH纠错编码文件更新在A区,更新A区文件复制器标记,回读FLASH文件并校验,若回读校验未通过,则更新A区文件复制器标记,向用户告警,返回将A区擦除;若回读校验通过,则更新A区文件复制器标记,查询B区文件复制器标记,判断B区文件是否更新完成,若B区未更新完,则将A区镜像搬移至B区,覆盖B区原有镜像,更新B区文件复制器标记,返回判断B区文件是否更新完成;若B区文件已完成更新,则更新B区文件复制器标记。4.根据权利要求3所述的基于ZYNQ的软件升级方法,其特征在于,在步骤(1)中,...

【专利技术属性】
技术研发人员:王勋周文涛江越刘璞刘峰
申请(专利权)人:北京自动化控制设备研究所
类型:发明
国别省市:

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

1