CN116501354A - 光纤通道网络节点设备中fpga配置文件安全在线升级方法 - Google Patents

光纤通道网络节点设备中fpga配置文件安全在线升级方法 Download PDF

Info

Publication number
CN116501354A
CN116501354A CN202310740140.1A CN202310740140A CN116501354A CN 116501354 A CN116501354 A CN 116501354A CN 202310740140 A CN202310740140 A CN 202310740140A CN 116501354 A CN116501354 A CN 116501354A
Authority
CN
China
Prior art keywords
version
configuration file
fpga
golden
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.)
Granted
Application number
CN202310740140.1A
Other languages
English (en)
Other versions
CN116501354B (zh
Inventor
何佳尧
李军
张国奇
连璐
张健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Quanxin Cable Technology Co Ltd
Original Assignee
Nanjing Quanxin Cable Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Quanxin Cable Technology Co Ltd filed Critical Nanjing Quanxin Cable Technology Co Ltd
Priority to CN202310740140.1A priority Critical patent/CN116501354B/zh
Publication of CN116501354A publication Critical patent/CN116501354A/zh
Application granted granted Critical
Publication of CN116501354B publication Critical patent/CN116501354B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种光纤通道网络节点设备中FPGA配置文件安全在线升级方法,在节点设备正常启动之后,可检测当前的加载版本,并比对是否需要进行在线升级。在线升级时,优先对另一版本FPGA配置文件进行擦写,验证通过后继续对当前版本进行在线升级,从而保证在线升级过程异常时,至少有一个已确定的完好版本保留在FLASH中,上电重启后,FPGA仍能正常启动,从而解决在线升级异常中断导致FPGA无法启动的问题,实现Golden版本和Update版本的安全在线升级。本发明利用原设计中的PCIE接口实现在线升级功能,可在不增加该节点设备硬件和控制模块的前提下,也不需要拆解设备维修的情况下,分别对golden版本和update版本进行在线升级,实现FLASH多重配置的在线升级功能。

Description

光纤通道网络节点设备中FPGA配置文件安全在线升级方法
技术领域
本发明涉及光纤通道网络通信技术领域,尤其是光纤通道节点设备中FPGA的配置,应用于航空航天领域光纤通道网络中,具体而言涉及一种光纤通道网络节点设备中FPGA配置文件安全在线升级方法。
背景技术
机载数据总线技术是用于机载设备、子系统、以及模块之间的互联技术。以计算机的概念的角度,各种航空电子设备相当于一台台微机,而总线通信技术是连接各微机的通道和纽带,使航电设备形成具备完整功能的网络。FC (Fibre Channel,即光纤通道)是1988年由美国工业标准协会(ANSI)提出的通道标准,旨在满足日益增长的航空航天器内部高速数据通道需求,FC串行传输速率可达133兆波特-1.0625千兆波特。
FC(光纤通道)是一种基于标准的网络结构,具备通道及网络双重优势,使得在同一物理接口上可以运行目前主流的通道标准及网络协议。庞大的数据吞吐量使其可以令不同系统之间的大量数据传输成为现实,并且可用相同设备建立任何拓扑,满足不同的连接特性,例如点对点通信网络、仲裁环通信网络、交换式网络等,实现节点设备之间的高速通信等。
在FC通信拓扑结构中,节点设备通常配置一个或多个光纤通道端口(FC端口)。节点设备,通过PCIE接口与主机连接,与主机通信收发报文,例如将业务报文发送到主机,接收主机对节电设备(其中的FPGA、DDR存储、光信号处理等)的配置信息,并通过FC端口将主机接至FC拓扑网络中。
结合图1所示,FC网络节点设备中的FPGA通常基于SRAM编程,当系统掉电后,编程信息全部丢失,普遍采用非易失性器件FLASH来存储FPGA配置文件,在系统上电后将配置文件加载到FPGA芯片,从而正常启动FPGA程序。
以7系列FPGA为例,参照Xilinx手册(ug470_7Series_Config.pdf),7系列FPGA具备MultiBoot和FallBack机制,即:设备上电后,从FLASH基地址开始执行FPGA配置程序,在引导区中配置相应参数可触发MultiBoot机制,可以从指定跳转地址开始加载FPGA配置文件,此版本比特流文件称为update版本;若加载失败,则触发FallBack机制回到基地址加载另一个FPGA配置文件,此版本比特流文件称为golden版本。
现有技术和设计中,设备出厂时一般是将golden和update版本都烧录到FLASH中,作为初始版本。在今后的使用过程中,在线升级程序仅对update版本区域进行更新升级。设备上电后,FPGA会先尝试加载update版本,当update版本加载失败时,仍然能加载golden版本,保证FPGA可以正常启动,在加载golden版本实现FGPA正常启动后,可继续在线升级update版本。
如此,当前在线升级过程只更新了update版本,golden版本始终保持出厂状态。若使用过程中加载update版本失败,FPGA可加载出厂状态的golden版本,虽然FPGA能正常启动,但是在功能和性能等方面无法满足当前系统的工作需求,无法与系统中其他设备适配导致整个系统性能下降甚至无法正常工作。
如果FLASH中存储的数据完好,当在线升级过程异常中断,导致update版本无法正常加载,仍可启动golden版本,再次重新进行在线升级。但当前FLASH硬件存在缺陷,会随时间流逝出现电荷丢失现象,在设备使用过程中可能出现以下情况:1)当update版本因电荷丢失而无法加载时,设备重新上下电后,FPGA加载为golden版本,此时可在线升级update版本,且在线升级失败时仍能启动FPGA重新进行在线升级;2)当golden版本因电荷丢失而无法加载时,设备重新上下电后FPGA加载为update版本,此时仍可在线升级update版本,但此时若在线升级失败导致update版本被破坏,FPGA将无法启动。
当出现上述第二种情况,由于FLASH电荷丢失和在线升级异常导致FPGA无法启动时,需要打开产品机箱之后再使用专用的下载器将golden版本和update版本进行烧录更新,但由于目标设备应用于航天航空领域,现场需要更新FPGA配置文件时,设备拆卸和安装成本较高,拆机维修和更新是非常不方便的。
发明内容
本发明目的在于提供一种光纤通道网络节点设备中FPGA配置文件安全在线升级方法与系统,利用原设计中的PCIE接口实现在线升级功能,可在不增加该节点设备硬件和控制模块的前提下,也不需要拆解设备维修的情况下,分别对golden版本和update版本进行在线升级,实现FLASH多重配置的在线升级功能。
根据本发明目的的第一方面,提出一种光纤通道网络节点设备中FPGA配置文件安全在线升级方法,包括以下步骤:
将节点设备的FLASH分为两个分区,分别为第一存储区和第二存储区,分别用于存放Golden和Update版本的配置文件,均为具有引导区和数据域的比特流文件;
在节点设备启动后,通过PCIE接口读取寄存器,获取当前加载的FPGA配置文件版本号,并与待更新的版本进行对比,判断是否需要在线升级:
-如果不需要在线升级,则不更新配置文件并结束;
-如果需要更新,则通过PCIE接口将FLASH擦写首地址、擦写长度和待更新的FPGA配置文件发送给FPGA芯片,指令在线升级FPGA配置文件;
FPGA芯片接收到在线升级指令后,通过SPI FLASH接口根据擦写首地址、擦写长度将配置文件写入FLASH对应区域,以完成在线升级;
其中,FGPA芯片基于获取的当前加载的FPGA配置文件为Golden或者Update版本其中的一个,在线升级时优先对另一版本FPGA配置文件进行擦写,并且在另一版本FPGA配置文件升级完成并验证通过后,方继续执行对当前版本的在线升级。
作为可选的示例的实施方式,在节点设备启动后,如果检测到所获取当前加载的FPGA配置文件为Update版本,则优先对Golden版本的配置文件进行升级以及验证;并且
在验证完成之后,开始对当前加载的Update版本的配置文件进行升级以及验证;
而,如果检测到所获取当前加载的FPGA配置文件为Golden版本,则优先对Update版本的配置文件进行升级以及验证;并且
在验证完成之后,开始对当前加载的Golden版本的配置文件进行升级以及验证。
作为可选的示例的实施方式,对Golden版本的配置文件进行升级的过程中,不对Golden版本的比特流文件中引导区的MultiBoot配置进行擦除重写,保持Golden版本的比特流文件中引导区的MultiBoot配置不变。
作为可选的示例的实施方式,对Golden版本的配置文件进行升级的过程,包括:
对Golden版本的比特流文件之前添加填充字段,使得填充字段与引导区前80字节的长度和为4K字节;
在线升级Golden版本的配置文件时,对FLASH的第一存储区的擦除和写入按照以下方式进行:保留从基地址开始的第一擦除扇区不进行擦除重写,其长度为4K字节;将待升级的New Golden版本的比特流文件的引导区前80字节以后的数据从保留地址4K开始写入FLASH的第一存储区,由此在保留MultiBoot配置前提下进行Golden版本的配置文件的在线升级。
作为可选的示例的实施方式,对Update版本的配置文件进行升级的过程,包括:
从跳转地址开始对Update版本的配置文件所对应的第二存储区进行擦写,将待升级的New Update版本的比特流文件的写入FLASH的对应的第二存储区。
作为可选的示例的实施方式,对于Golden和Update版本的配置文件,当其中任意一版本的比特流文件在线升级并验证通过后,继续对另一版本的配置文件进行在线升级操作,并且在两个版本的配置文件均升级、验证通过后,本次在线升级操作完成。
作为可选的示例的实施方式,使用同一New Update版本的比特流文件在线升级到Golden和Update两个版本的配置文件中,由此,在其中任意版本的配置文件损坏后,FPGA芯片仍能加载为同样功能的备份版本,实现双备份版本功能。
应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的发明主题的一部分。
结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。
附图说明
附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例。
图1是FC光纤通道网络中节点设备与主机的连接示意图。
图2是本发明实施例的节点设备内FLASH存储区的示意图。
图3是本发明实施例的FPGA配置文件安全在线升级方法的流程示意图。
图4是本发明实施例的Golden版本的配置文件在线升级的示意图。
图5是本发明实施例的Update版本的配置文件在线升级的示意图。
图6是本发明实施例使用同一New Update比特流文件升级两个版本配置文件的示意图。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定意在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。
结合图2、3所示,根据本发明的实施例的光纤通道网络中节点设备中FPGA配置文件安全在线升级方法,旨在利用PCIE接口实现在线升级功能,可在不增加该节点设备硬件和控制模块的前提下,分别对Golden版本和Update版本的配置文件进行在线升级,实现FLASH多重配置的在线升级功能,避免在FPGA加载后的升级过程中,不因FLASH电荷丢失和在线升级异常导致FPGA无法启动的问题。
结合图2所示的示例,将节点设备的FLASH分为两个分区,分别为第一存储区和第二存储区,分别用于存放Golden和Update版本的配置文件,均为具有引导区和数据域的比特流文件。
如图2所示,比特流文件分为引导区和数据域。
引导区包含了FPGA配置引导参数,包括:开始符、同步字、MultiBoot以及FallBack。
数据域包含FPGA配置文件的版本数据、CRC校验码、结束符。
结合图2所示,FLASH的每个分区(第一存储区和第二存储区)除比特流文件有效数据之外为默认字段,默认无效字符为0xFF。
由于比特流文件引导区中包含MultiBoot、FallBack配置,若Golden版本在线升级异常中断,引导区配置数据被破坏,FPGA芯片将无法跳转到Update版本对应的存储区加载,从而无法正常启动,只能拆卸设备之后使用专用下载器更新FPGA配置文件,故不能直接在线升级Golden版本。
在本发明的实施例中,在节点设备启动后,通过PCIE接口读取寄存器,获取当前加载的FPGA配置文件版本号,并与待更新的版本进行对比,判断是否需要在线升级:
-如果不需要在线升级,则不更新配置文件并结束;
-如果需要更新,则通过PCIE接口将FLASH擦写首地址、擦写长度和待更新的FPGA配置文件发送给FPGA芯片,指令在线升级FPGA配置文件;
FPGA芯片接收到在线升级指令后,通过SPI FLASH接口根据擦写首地址、擦写长度将配置文件写入FLASH对应区域,以完成在线升级;
其中,FGPA芯片基于获取的当前加载的FPGA配置文件为Golden或者Update版本其中的一个,在线升级时优先对另一版本FPGA配置文件进行擦写,并且在另一版本FPGA配置文件升级完成并验证通过后,方继续执行对当前版本的在线升级。
结合图2、3所示,在节点设备启动后,如果检测到所获取当前加载的FPGA配置文件为Update版本,则优先对Golden版本的配置文件进行升级以及验证;
在验证完成之后,开始对当前加载的Update版本的配置文件进行升级以及验证。
如果检测到所获取当前加载的FPGA配置文件为Golden版本,则优先对Update版本的配置文件进行升级以及验证;并且
在验证完成之后,开始对当前加载的Golden版本的配置文件进行升级以及验证。
由此,在节点设备正常启动之后,可检测当前的加载版本,在线升级时优先对另一版本FPGA配置文件进行擦写,验证通过后继续对当前版本进行在线升级,从而保证在线升级过程异常时,至少有一个已确定的完好版本保留在FLASH中,上电重启后,FPGA仍能正常启动,从而解决了在线升级异常中断导致FPGA无法启动的问题,实现Golden版本和Update版本的安全在线升级。
在可选的实施例中,还可以使用同一比特流文件分别在线升级Golden版本和Update版本,不增加额外缓存空间占用,实现双备份版本功能。在节点设备使用过程中,任何一个版本文件无法加载时,均可启动另一备份版本而不影响功能。
由此,通过本发明提出的FPGA配置文件安全在线升级方法,可极大程度减小FLASH发生电荷丢失以及在线升级过程异常导致FPGA无法加载的问题。
结合图2所示,参照Xilinx手册(ug470_7Series_Config.pdf), 同一芯片型号使用vivado工具生成的比特流文件中MultiBoot、FallBack配置位置固定,且Update版本和Golden版本均约束为FallBack使能,引导区数据前80字节中只有MultiBoot配置数据不一致。
因此,在本发明的实施例中,对Golden版本的配置文件进行升级的过程中,不对Golden版本的比特流文件中引导区的MultiBoot配置进行擦除重写,保持Golden版本的比特流文件中引导区的MultiBoot配置不变。
只要保证在线升级过程不会对Golden版本引导区中MultiBoot配置进行擦除重写,即解决Golden版本在线升级过程异常中断导致FPGA无法正常启动的问题,实现Golden版本和Update版本安全在线升级。
结合FLASH最小擦除扇区为4K字节,故在本发明的实施例中,对Golden版本的配置文件进行升级的过程,如图4所示,可被设置按照以下过程进行:
对Golden版本的比特流文件之前添加填充字段,使得填充字段与引导区前80字节的长度和为4K字节;
在线升级Golden版本的配置文件时,对FLASH的第一存储区的擦除和写入按照以下方式进行:保留从基地址开始的第一擦除扇区不进行擦除重写,其长度为4K字节;将待升级的New Golden版本的比特流文件的引导区前80字节以后的数据从保留地址4K开始写入FLASH的第一存储区,由此在保留MultiBoot配置前提下进行Golden版本的配置文件的在线升级。
作为可选的示例,对Update版本的配置文件进行升级的过程,包括:
从跳转地址开始对Update版本的配置文件所对应的第二存储区进行擦写,将待升级的New Update版本的比特流文件的写入FLASH的对应的第二存储区。
结合图5所示,在线升级Update版本时,从跳转地址开始对Update版本区域进行擦写,将待升级的New Update比特流文件写入FLASH。
当FPGA芯片正常启动后,可通过读取设备状态得知当前上电加载过程是否触发FallBack机制,从而得知当前加载为Update版本还是Golden版本,此时认为当前加载版本为完好版本。
在本发明的实施例中,由于不确定另一版本是否完好,因此优先对另一存储区的比特流文件进行在线升级。在线升级完成后对该优先升级的比特流文件进行校验,若校验不通过,则重新进行在线升级;而在校验通过后,可继续对当前加载版本的比特流文件进行在线升级。由此,通过上述升级方式可保证整个在线升级过程中至少有一个完好版本,在发生异常时,FPGA芯片能正常启动。
结合图3、图4以及图5所示,对于Golden和Update版本的配置文件,当其中任意一版本的比特流文件在线升级并验证通过后,继续对另一版本的配置文件进行在线升级操作,并且在两个版本的配置文件均升级、验证通过后,本次在线升级操作完成。
结合图6所示的另一实施例的更新过程,可使用同一New Update版本的比特流文件在线升级到Golden和Update两个版本的配置文件中,由此,在其中任意版本的配置文件损坏后,FPGA芯片仍能加载为同样功能的备份版本,实现双备份版本功能。
由此,在节点设备使用过程中,任何一个版本文件无法加载时,均可启动另一备份版本,而不影响功能。
因此,结合本发明的方法,若发生FLASH电荷丢失导致数据损坏时,可分为以下三种情况:
(1)Golden版本的比特流文件引导区损坏,设备上电后将无法正常启动FPGA;
(2)Golden版本的比特流文件数据域损坏,设备上电后FPGA加载为Update版本,若在线升级异常,上下电后将无法正常启动FPGA芯片;
(3)Update版本的比特流文件引导区或数据域损坏,设备上电后FPGA加载为Golden版本,若在线升级异常,上下电后仍能正常启动FPGA芯片,可继续对Update版本进行在线升级。
由此可见,通过本发明的方法,仅仅在FLASH电荷丢失导致Golden版本引导区保留字段(80字节)损坏时,设备上电后无法正常启动FPGA芯片,其他情况均能正常启动FPGA且能安全进行在线升级,无论是Golden版本的数据域还是Update版本的数据域/引导区损坏,因此能够极大程度降低硬件缺陷导致设备无法工作的概率。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

Claims (8)

1.一种光纤通道网络节点设备中FPGA配置文件安全在线升级方法,其特征在于,所述方法包括以下步骤:
将节点设备的FLASH分为两个分区,分别为第一存储区和第二存储区,分别用于存放Golden和Update版本的配置文件,均为具有引导区和数据域的比特流文件;
在节点设备启动后,通过PCIE接口读取寄存器,获取当前加载的FPGA配置文件版本号,并与待更新的版本进行对比,判断是否需要在线升级:
-如果不需要在线升级,则不更新配置文件并结束;
-如果需要更新,则通过PCIE接口将FLASH擦写首地址、擦写长度和待更新的FPGA配置文件发送给FPGA芯片,指令在线升级FPGA配置文件;
FPGA芯片接收到在线升级指令后,通过SPI FLASH接口根据擦写首地址、擦写长度将配置文件写入FLASH对应区域,以完成在线升级;
其中,FGPA芯片基于获取的当前加载的FPGA配置文件为Golden或者Update版本其中的一个,在线升级时优先对另一版本FPGA配置文件进行擦写,并且在另一版本FPGA配置文件升级完成并验证通过后,方继续执行对当前版本的在线升级。
2.根据权利要求1所述的光纤通道网络节点设备中FPGA配置文件安全在线升级方法,其特征在于,在节点设备启动后,如果检测到所获取当前加载的FPGA配置文件为Update版本,则优先对Golden版本的配置文件进行升级以及验证;并且
在验证完成之后,开始对当前加载的Update版本的配置文件进行升级以及验证。
3.根据权利要求1所述的光纤通道网络节点设备中FPGA配置文件安全在线升级方法,其特征在于,在节点设备启动后,如果检测到所获取当前加载的FPGA配置文件为Golden版本,则优先对Update版本的配置文件进行升级以及验证;并且
在验证完成之后,开始对当前加载的Golden版本的配置文件进行升级以及验证。
4.根据权利要求1-3中任意一项所述的光纤通道网络节点设备中FPGA配置文件安全在线升级方法,其特征在于,对Golden版本的配置文件进行升级的过程中,不对Golden版本的比特流文件中引导区的MultiBoot配置进行擦除重写,保持Golden版本的比特流文件中引导区的MultiBoot配置不变。
5.根据权利要求4所述的光纤通道网络节点设备中FPGA配置文件安全在线升级方法,其特征在于,对Golden版本的配置文件进行升级的过程,包括:
对Golden版本的比特流文件之前添加填充字段,使得填充字段与引导区前80字节的长度和为4K字节;
在线升级Golden版本的配置文件时,对FLASH的第一存储区的擦除和写入按照以下方式进行:保留从基地址开始的第一擦除扇区不进行擦除重写,其长度为4K字节;将待升级的New Golden版本的比特流文件的引导区前80字节以后的数据从保留地址4K开始写入FLASH的第一存储区,由此在保留MultiBoot配置前提下进行Golden版本的配置文件的在线升级。
6.根据权利要求4所述的光纤通道网络节点设备中FPGA配置文件安全在线升级方法,其特征在于,对Update版本的配置文件进行升级的过程,包括:
从跳转地址开始对Update版本的配置文件所对应的第二存储区进行擦写,将待升级的New Update版本的比特流文件的写入FLASH的对应的第二存储区。
7.根据权利要求4所述的光纤通道网络节点设备中FPGA配置文件安全在线升级方法,其特征在于,对于Golden和Update版本的配置文件,当其中任意一版本的比特流文件在线升级并验证通过后,继续对另一版本的配置文件进行在线升级操作,并且在两个版本的配置文件均升级、验证通过后,本次在线升级操作完成。
8.根据权利要求1所述的光纤通道网络节点设备中FPGA配置文件安全在线升级方法,其特征在于,使用同一New Update版本的比特流文件在线升级到Golden和Update两个版本的配置文件中,由此,在其中任意版本的配置文件损坏后,FPGA芯片仍能加载为同样功能的备份版本,实现双备份版本功能。
CN202310740140.1A 2023-06-21 2023-06-21 光纤通道网络节点设备中fpga配置文件安全在线升级方法 Active CN116501354B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310740140.1A CN116501354B (zh) 2023-06-21 2023-06-21 光纤通道网络节点设备中fpga配置文件安全在线升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310740140.1A CN116501354B (zh) 2023-06-21 2023-06-21 光纤通道网络节点设备中fpga配置文件安全在线升级方法

Publications (2)

Publication Number Publication Date
CN116501354A true CN116501354A (zh) 2023-07-28
CN116501354B CN116501354B (zh) 2023-09-15

Family

ID=87318613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310740140.1A Active CN116501354B (zh) 2023-06-21 2023-06-21 光纤通道网络节点设备中fpga配置文件安全在线升级方法

Country Status (1)

Country Link
CN (1) CN116501354B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631636A (zh) * 2020-12-25 2021-04-09 成都九洲迪飞科技有限责任公司 一种基于gtx的fpga在线升级方法及fpga产品
CN113377408A (zh) * 2021-06-08 2021-09-10 北京计算机技术及应用研究所 一种高可靠sram型fpga在线升级方法及系统
CN114356365A (zh) * 2021-12-14 2022-04-15 重庆秦嵩科技有限公司 一种基于PSoC芯片的远程更新方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631636A (zh) * 2020-12-25 2021-04-09 成都九洲迪飞科技有限责任公司 一种基于gtx的fpga在线升级方法及fpga产品
CN113377408A (zh) * 2021-06-08 2021-09-10 北京计算机技术及应用研究所 一种高可靠sram型fpga在线升级方法及系统
CN114356365A (zh) * 2021-12-14 2022-04-15 重庆秦嵩科技有限公司 一种基于PSoC芯片的远程更新方法

Also Published As

Publication number Publication date
CN116501354B (zh) 2023-09-15

Similar Documents

Publication Publication Date Title
US6836859B2 (en) Method and system for version control in a fault tolerant system
JP3364356B2 (ja) メモリ書替え装置
US7313682B2 (en) Method and system for updating boot memory that stores a fail-safe reset code and is configured to store boot code and boot updater code
US7772882B2 (en) Robust and economic solution for FPGA bit file upgrade
US11042365B2 (en) Firmware updating method and electronic device using the same
KR100316981B1 (ko) 플래시 메모리를 구비한 마이크로컴퓨터 및 플래시 메모리에 프로그램을 저장하는 방법
CN111562934B (zh) 一种基于热补丁的软件系统升级方法、终端及存储介质
CN103365696A (zh) Bios镜像文件获取方法及装置
JP4620430B2 (ja) アダプタの高速ロードのための装置、システム、方法、記録媒体、およびプログラム
JP2023064689A (ja) コンピュータシステムの基板管理コントローラ及び起動方法
US6745324B1 (en) Dynamic firmware image creation from an object file stored in a reserved area of a data storage device of a redundant array of independent disks (RAID) system
CN111813432A (zh) 一种fpga配置升级方法和fpga平台
US20070277028A1 (en) Method and system for recovery from reprogramming failures in nonvolatile memory
CN214376406U (zh) 集成电路、车载控制器以及车辆
CN113835735A (zh) 一种fpga远程升级方法、系统和存储介质
CN116501354B (zh) 光纤通道网络节点设备中fpga配置文件安全在线升级方法
US7428635B2 (en) Method of writing non-volatile memory that avoids corrupting the vital initialization code
CN114281390A (zh) 一种基于Zynq 7000的在线升级系统及方法
CN114741091A (zh) 固件加载方法、装置、电子设备及计算机可读存储介质
CN113703801A (zh) 一种车载终端固件升级方法及电子装置
US20060156297A1 (en) Method and device for modifying software in a control unit and corresponding control unit
US20060294281A1 (en) Storage device and method of connecting storage device to host computer suitable for both power-on time and hot plug time
TWI417888B (zh) An embedded chip system, a method for burning a wafer, and a computer program product
CN113553085B (zh) 嵌入式操作系统在线升级的方法、装置、设备和存储介质
US20110314236A1 (en) Control apparatus, control method, and storage system

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