CN109634642A - 一种fpga配置文件远程升级的方法 - Google Patents

一种fpga配置文件远程升级的方法 Download PDF

Info

Publication number
CN109634642A
CN109634642A CN201811363159.4A CN201811363159A CN109634642A CN 109634642 A CN109634642 A CN 109634642A CN 201811363159 A CN201811363159 A CN 201811363159A CN 109634642 A CN109634642 A CN 109634642A
Authority
CN
China
Prior art keywords
subregion
program
fpga
flash
configuration file
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.)
Pending
Application number
CN201811363159.4A
Other languages
English (en)
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.)
Luoyang Institute of Electro Optical Equipment AVIC
Original Assignee
Luoyang Institute of Electro Optical Equipment AVIC
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 Luoyang Institute of Electro Optical Equipment AVIC filed Critical Luoyang Institute of Electro Optical Equipment AVIC
Priority to CN201811363159.4A priority Critical patent/CN109634642A/zh
Publication of CN109634642A publication Critical patent/CN109634642A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

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

Abstract

本发明提供了一种FPGA配置文件远程升级的方法,FPGA与Flash连接进行交互数据,将启动头和默认启动程序分别写入分区A和分区B,在分区A内的程序执行跳转地址设置为START_addr,执行默认启动程序支持通过网口对Flash进行读写操作,下电重启后,FPGA从Flash0地址执行完分区A的启动头后加载分区B中的程序,升级时,PC机通过网口将配置文件写入到分区C中,数据写入完成后,更改分区A的程序执行跳转地址,下电重新启动后,程序自动加载分区C配置文件的内容,支持远程升级。本发明升级方式更灵活,且不受限于JTAG的长度。

Description

一种FPGA配置文件远程升级的方法
技术领域
本发明涉及电路设计领域,尤其是一种配置文件远程升级的解决方法。
背景技术
在含有FPGA的硬件电路的设计中,采用将FPGA的JTAG引到外部,通过FPGA对配置Flash进行烧写。该方法受限于JTAG的长度,导致或需要破坏硬件的密闭环境,将JATG接口暴露出来,或需要升级设备就近放置,或需要电脑上安装相关的软件,方能实现升级功能。专利CN106547596中,描述了配置的软件流程方法,需要合并升级文件和配置文件,计算升级时间等,专利CN105159731A中列出了远程升级的硬件方案,但需要CPU、SRAM等的外部设备,增加硬件设计的复杂度,需依靠外部环境。
发明内容
为了克服现有技术的不足,本发明提供一种FPGA配置文件远程升级的方法。设计FPGA和有配置Flash的硬件电路通过网络或者其它接口与电脑相连接,实现配置文件的远程升级。
本发明解决其技术问题所采用的技术方案的步骤是:
步骤1:FPGA与配置Flash通过Flash的可读写的接口连接,进行交互数据,接口为Flash的JTAG或者地址数据接口,PC机与FPGA通过网口进行数据交互,实现配置文件的传输;
步骤2:针对所选Flash或者FPGA生成默认启动程序,支持通过网口对配置Flash的读写访问功能,并对Flash的地址空间进行分区,如图2,分为启动头分区A,启动程序分区B和升级程序分区C,其中分区A的大小等于所选Flash或者FPGA跳转指令及启动指令的大小,分区B和分区C的大小应大于FPGA的配置文件大小,其中分区B中存储默认启动程序,分区C中存储升级后的程序;
步骤3:上电后,将启动头和默认启动程序分别写入到分区A和分区B,在分区A内的程序执行跳转地址设置为START_addr,执行默认启动程序支持通过网口对配置Flash进行读写操作;
步骤4:根据步骤2、3的设置,下电重启后,FPGA默认从Flash0地址执行完分区A的启动头后加载分区B中的程序;
步骤5:当需要升级时,即对FPGA内执行的功能进行更新,FPGA的配置文件发生变化需重新写入到Flash时,PC机通过网口将配置文件写入到分区C中,配置文件即升级程序,升级程序除了包含电路需实现的相应功能外,还支持通过网口对配置Flash的读写操作;
步骤6:当对分区C的数据写入完成后,进行数据校验,校验通过后,更改分区A的程序执行跳转地址,设置为UPDATE_addr;
步骤7:下电重新启动后,程序自动加载分区C配置文件的内容,同样支持远程升级;
若升级的过程中失败,因未对分区A、B的内容进行修改,下电重启仍可执行分区B中的程序,进行下次的重新升级。
本发明的有益效果在于解决了FPGA这种需要使用JTAG作为烧写工具时,因JTAG要求的烧写距离短、需要特定的软件支持、需要特定的烧写线缆等问题,以及在安装到机箱或机柜内后,因需要使用JTAG下载而导致的需要拆箱的问题。本发明的升级方式更灵活,且不受限于JTAG的长度。
附图说明
图1为本发明的硬件连接图,
图2为本发明的Flash空间划分示意图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
本发明仅需默认一个分区用于存放启动逻辑,后续升级文件加载到分区B中,并可通过网口显示升级进度,保证可靠性且简单。
步骤1:FPGA与配置Flash通过Flash的可读写的接口连接,进行交互数据,接口为Flash的JTAG或者地址数据接口,PC机与FPGA通过网口进行数据交互,实现配置文件的传输;
步骤2:针对所选Flash或者FPGA生成默认启动程序,支持通过网口对配置Flash的读写访问功能,并对Flash的地址空间进行分区,如图2,分为启动头分区A,启动程序分区B和升级程序分区C,其中分区A的大小等于所选Flash或者FPGA跳转指令及启动指令的大小,分区B和分区C的大小应大于FPGA的配置文件大小,其中分区B中存储默认启动程序,分区C中存储升级后的程序;
步骤3:上电后,将启动头和默认启动程序分别写入到分区A和分区B,在分区A内的程序执行跳转地址设置为START_addr,执行默认启动程序支持通过网口对配置Flash进行读写操作;
步骤4:根据步骤2、3的设置,下电重启后,FPGA默认从Flash0地址执行完分区A的启动头后加载分区B中的程序;
步骤5:当需要升级时,即对FPGA内执行的功能进行更新,FPGA的配置文件发生变化需重新写入到Flash时,PC机通过网口将配置文件写入到分区C中,即图2中的升级程序,升级程序除了包含电路需实现的相应功能外,还支持通过网口对配置Flash的读写操作;
步骤6:当对分区C的数据写入完成后,进行数据校验,校验通过后,更改分区A的程序执行跳转地址,设置为UPDATE_addr;
步骤7:下电重新启动后,程序自动加载分区C配置文件的内容,同样支持远程升级;
若升级的过程中失败,因未对分区A、B的内容进行修改,下电重启仍可执行分区B中的程序,进行下次的重新升级,提高可靠性。
下面对本发明做进一步详细说明。
参照图1,硬件设计与连接,FPGA与配置Flash的交互通过Flash的可读写的接口进行,可以是Flash的JTAG或者地址数据接口,PC机与FPGA通过网口进行数据交互,实现配置文件的传输。
上电后,将启动头和默认启动程序分别写入到分区A和分区B,在分区A内的程序执行跳转地址设置到图2的START_addr,默认启动程序支持通过网口对配置Flash进行读写操作。
根据上一步的设置,下电重启后,FPGA默认加载分区B中的程序。
升级时,PC机通过网口将配置文件写入到分区C中,即图2中的升级程序,升级程序除了包含电路需实现的相应功能外,还支持通过网口对配置Flash的读写操作。
当对分区C的数据写入完成后,进行校验,更改分区A的程序执行跳转地址,设置为UPDATE_addr。
下电重新启动后,程序自动加载分区C配置文件的内容,同样支持远程升级。
若升级的过程中失败,因未对分区A、B的内容进行修改,下电重启仍可执行分区B中的程序,进行下次的重新升级,提高可靠性。

Claims (1)

1.一种FPGA配置文件远程升级的方法,其特征在于包括下述步骤:
步骤1:FPGA与配置Flash通过Flash的可读写的接口连接,进行交互数据,接口为Flash的JTAG或者地址数据接口,PC机与FPGA通过网口进行数据交互,实现配置文件的传输;
步骤2:针对所选Flash或者FPGA生成默认启动程序,支持通过网口对配置Flash的读写访问功能,并对Flash的地址空间进行分区,如图2,分为启动头分区A,启动程序分区B和升级程序分区C,其中分区A的大小等于所选Flash或者FPGA跳转指令及启动指令的大小,分区B和分区C的大小应大于FPGA的配置文件大小,其中分区B中存储默认启动程序,分区C中存储升级后的程序;
步骤3:上电后,将启动头和默认启动程序分别写入到分区A和分区B,在分区A内的程序执行跳转地址设置为START_addr,执行默认启动程序支持通过网口对配置Flash进行读写操作;
步骤4:根据步骤2、3的设置,下电重启后,FPGA默认从Flash0地址执行完分区A的启动头后加载分区B中的程序;
步骤5:当需要升级时,即对FPGA内执行的功能进行更新,FPGA的配置文件发生变化需重新写入到Flash时,PC机通过网口将配置文件写入到分区C中,配置文件即升级程序,升级程序除了包含电路需实现的相应功能外,还支持通过网口对配置Flash的读写操作;
步骤6:当对分区C的数据写入完成后,进行数据校验,校验通过后,更改分区A的程序执行跳转地址,设置为UPDATE_addr;
步骤7:下电重新启动后,程序自动加载分区C配置文件的内容,同样支持远程升级;
若升级的过程中失败,因未对分区A、B的内容进行修改,下电重启仍可执行分区B中的程序,进行下次的重新升级。
CN201811363159.4A 2018-11-15 2018-11-15 一种fpga配置文件远程升级的方法 Pending CN109634642A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811363159.4A CN109634642A (zh) 2018-11-15 2018-11-15 一种fpga配置文件远程升级的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811363159.4A CN109634642A (zh) 2018-11-15 2018-11-15 一种fpga配置文件远程升级的方法

Publications (1)

Publication Number Publication Date
CN109634642A true CN109634642A (zh) 2019-04-16

Family

ID=66068213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811363159.4A Pending CN109634642A (zh) 2018-11-15 2018-11-15 一种fpga配置文件远程升级的方法

Country Status (1)

Country Link
CN (1) CN109634642A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110297652A (zh) * 2019-06-21 2019-10-01 四川九州电子科技股份有限公司 一种fpga远程升级的方法
CN111176675A (zh) * 2019-12-03 2020-05-19 北京星际荣耀空间科技有限公司 一种芯片应用程序的升级应用方法
CN111813432A (zh) * 2020-06-01 2020-10-23 大唐微电子技术有限公司 一种fpga配置升级方法和fpga平台
CN114443175A (zh) * 2022-04-11 2022-05-06 天津讯联科技有限公司 一种用于弹载fpga在线升级的启动配置方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080175262A1 (en) * 2007-01-19 2008-07-24 Fujitsu Limited Data communication apparatus, configuration information update method, and configuration information update program
CN104166566A (zh) * 2014-08-12 2014-11-26 福建星网锐捷网络有限公司 一种fpga配置文件升级方法及系统
CN105955783A (zh) * 2016-05-09 2016-09-21 浙江大学 一种基于fpga控制的远程fpga逻辑代码的下载方法
CN107479913A (zh) * 2017-07-27 2017-12-15 中国船舶重工集团公司第七二四研究所 一种fpga配置多启动低资源占用更新方法及实施系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080175262A1 (en) * 2007-01-19 2008-07-24 Fujitsu Limited Data communication apparatus, configuration information update method, and configuration information update program
CN104166566A (zh) * 2014-08-12 2014-11-26 福建星网锐捷网络有限公司 一种fpga配置文件升级方法及系统
CN105955783A (zh) * 2016-05-09 2016-09-21 浙江大学 一种基于fpga控制的远程fpga逻辑代码的下载方法
CN107479913A (zh) * 2017-07-27 2017-12-15 中国船舶重工集团公司第七二四研究所 一种fpga配置多启动低资源占用更新方法及实施系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110297652A (zh) * 2019-06-21 2019-10-01 四川九州电子科技股份有限公司 一种fpga远程升级的方法
CN111176675A (zh) * 2019-12-03 2020-05-19 北京星际荣耀空间科技有限公司 一种芯片应用程序的升级应用方法
CN111813432A (zh) * 2020-06-01 2020-10-23 大唐微电子技术有限公司 一种fpga配置升级方法和fpga平台
CN114443175A (zh) * 2022-04-11 2022-05-06 天津讯联科技有限公司 一种用于弹载fpga在线升级的启动配置方法

Similar Documents

Publication Publication Date Title
CN109634642A (zh) 一种fpga配置文件远程升级的方法
WO2022007656A1 (zh) Bootloader软件更新方法、装置、嵌入式控制器以及存储介质
EP2902916A1 (en) Programming auxiliary system of programmable controller and method thereof
CN110134426A (zh) 一种嵌入式系统升级方法、装置及终端设备
CN110597542B (zh) 软件自动ota升级方法及装置、电子设备
CN105893090A (zh) 一种嵌入式系统bootrom和应用程序升级方法
CN110515641A (zh) 服务器固件的更新方法、装置及系统
CN108762833A (zh) 安卓系统中的应用启动方法和装置
CN104391714A (zh) 一种车辆的软件更新方法和装置
CN115291946A (zh) 鸿蒙系统移植方法、装置、电子设备及可读介质
CN106598576A (zh) 一种基于squashfs只读文件的设备参数升级方法及装置
CN109213510A (zh) 一种用于嵌入式设备的应用程序升级方法及存储介质
CN108958813A (zh) 文件系统构建方法、装置及存储介质
US9600397B2 (en) Dynamic debugging method of a software module and corresponding device
CN108334413A (zh) 一种基于飞腾平台的固件与操作系统之间信息传递方法
CN106201584B (zh) 版本升级方法及终端设备
CN113934445A (zh) 设备固件升级系统、方法、装置、计算机设备和存储介质
CN113238819A (zh) 一种适用于U-Boot的驱动文件动态加载方法及系统
CN106775796A (zh) 一种固件升级方法、装置及系统
KR102434126B1 (ko) Plc 프로그램 처리 장치
CN111949278B (zh) 一种自动安装mcs系统的方法、系统、终端及存储介质
US20040216140A1 (en) Method and system for accessing system operations through an interface layer
CN109960522A (zh) 一种软件升级方法及装置
CN114741137B (zh) 一种基于多核微控制器的软件启动方法、装置、设备及存储介质
CN117350916B (zh) 基于状态机管理gpu内核驱动的方法、电子设备和介质

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190416

WD01 Invention patent application deemed withdrawn after publication