CN102346677A - Fpga程序的升级方法 - Google Patents
Fpga程序的升级方法 Download PDFInfo
- Publication number
- CN102346677A CN102346677A CN201010245850XA CN201010245850A CN102346677A CN 102346677 A CN102346677 A CN 102346677A CN 201010245850X A CN201010245850X A CN 201010245850XA CN 201010245850 A CN201010245850 A CN 201010245850A CN 102346677 A CN102346677 A CN 102346677A
- Authority
- CN
- China
- Prior art keywords
- fpga
- flash
- module
- program
- address
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种FPGA程序的升级方法,包括步骤:步骤一、将Flash存储器的空间分成分别用于存储FPGA程序、寄存器参数、更新引导程序的低、中、高三个地址段;通过一跳线来设置FPGA从Flash存储器加载程序的地址段。步骤二、将更新引导程序固化在Flash中高地址段中;更新引导程序根据各不同的所述地址段设计了不同命令菜单。步骤三、将FPGA通过一串口通信电平转换模块和一计算机相连。步骤四、设置跳线并启动所述FPGA,使所述FPGA从高地址段加载所述更新引导程序并运行,根据需要点击各所述命令通过串口进行更新。本发明能使升级操作简单、方便,还能提高效率且具有较好的灵活性。
Description
技术领域
本发明涉及嵌入式系统,特别是涉及一种FPGA程序的升级方法。
背景技术
随着技术的进步,现场可编程门阵列(Field-Programmable GateArray,FPGA)的功能越来越强大,可以内嵌CPU软核,还能运行操作系统,越来越多的嵌入式产品由FPGA来实现,它可以实现功能复杂、需求多样的产品。为了优化程序提供产品性能需要做多次程序的升级更新,FPGA程序一般存放在外部Flash存储器中,烧写外部Flash存储器方法一般有两种:一种是用文件烧录器直接将代码的二进制文件烧入Flash中,然后再通过焊接技术将芯片装在电路板上,这种方式不便于因性能的改善而随时进行软件的升级,而且将Flash器件反复装卸很容易造成器件的损坏,增加成本,效率低下;第二种是通过FPGA的JTAG下载线缆和专用下载工具对Flash进行烧录实现程序的升级,但这种方式不能离开FPGA设计工具,而且不同的FPGA芯片,设计工具也不一样。上述两种方法都不利于设计、生产的快速顺利进行。
发明内容
本发明所要解决的技术问题是提供一种FPGA程序的升级方法,能使升级操作简单、方便,且无需专用的下载线缆和下载工具,更不需要通过烧录器将Flash存储器取下进行FPGA程序的更新,所以还能提高效率且具有较好的灵活性。
为解决上述技术问题,本发明提供的一种FPGA程序的升级方法,包括如下步骤:
步骤一、将Flash存储器的空间分成低、中、高三个地址段,分别用于存储FPGA程序、寄存器参数、更新引导程序;其中用于存储所述寄存器参数的中地址段还能细分为多个地址段。通过一跳线来设置FPGA从所述Flash存储器加载程序的地址段。所述跳线设置在低地址端时,所述FPGA从所述Flash存储器的低地址段加载所述FPGA程序并运行;所述跳线设置在高地址端时,所述FPGA从所述Flash存储器的高地址段加载所述更新引导程序并运行。
步骤二、将更新引导程序固化在Flash中高地址段中。所述更新引导程序根据各不同的所述地址段设计了不同命令菜单,采用交互式方式进行更新,点击各所述命令时,各所述命令对应的地址段的更新文件会通过串口下载到各所述命令对应的地址段中。所述更新引导程序由串口文件接收模块、串口通信的差错校验模块、命令控制模块、Flash擦除模块、Flash读写模块、Flash操作有效性校验模块组成。所述串口文件接收模块用于通过串口协议接收文件;所述串口通信差错校验模块是用于依据串口协议验证接收的文件、数据是否存在误码;所述命令控制模块是用于以菜单的方式显示需要对Flash更新操作的命令;所述Flash擦除模块是用于将所述Flash存储器芯片进行擦除操作;所述Flash读写模块是用于读写所述Flash存储器芯片;所述Flash操作有效性校验模块是用于验证Flash操作过程是否成功,如擦除是否成功、读写数据是否正确。所述更新文件为二进制文件,各所述命令对应的地址段包括低地址段、中地址段,分别用于所述FPGA程序、所述寄存器参数的更新。所述Flash存储器的用于存储所述寄存器参数的中地址段能根据实际不同需要细分为多个地址段,细分出来的各所述多个地址段也分别在所述更新引导程序中有各自对应的命令菜单,通过点击各所述命令实现所对应的地址段的更新。
步骤三、将所述FPGA通过一串口通信电平转换模块和一计算机相连,将串口调试工具或Windows的超级终端安装到所述计算机中,启动所述串口调试工具或Windows的超级终端并设置好串口通信参数步。所述串口通信参数包括波特率、串口端口、校验方式、数据位宽、停止位数。所述FPGA和所述计算机的连接方法为是通过所述FPGA的一串口通信接口和一RS-232电平转换模块相连、通过所述RS-232电平转换模块和所述计算机的COM口相连,且上述连接的电缆都为DB9接口的电缆。
步骤四、设置所述跳线到高地址端并启动所述FPGA,使所述FPGA从高地址段加载所述更新引导程序并运行,所述更新引导程序的命令菜单显示于所述串口调试工具或Windows的超级终端上,根据需要点击各所述命令,将各所述命令对应的地址段的更新文件通过串口下载到各所述命令对应的地址段中。
本发明方法能使升级操作简单、方便,且无需专用的下载线缆和下载工具,更不需要通过烧录器将Flash存储器取下进行FPGA程序的更新,所以还能提高效率且具有较好的灵活性。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明:
图1是本发明方法流程图;
图2是本发明实施例方法的硬件连接示意图。
具体实施方式
如图1所示,是本发明方法的流程图,图2是本发明实施例方法的硬件连接示意图。本发明FPGA程序的升级方法,包括如下步骤:
步骤一、如图2所示,本发明的FPGA和其Flash存储器制作在同一块主板卡上,将Flash存储器的空间分成低、中、高三个地址段,分别用于存储FPGA程序、寄存器参数、更新引导程序;其中用于存储所述寄存器参数的中地址段还能根据不同芯片细分为多个地址段,每段的大小根据需要来划分,所述不同芯片指是需要所述FPGA进行初始化的芯片,如AD芯片,DA芯片,压缩解压缩芯片等一切需要由所述FPGA控制的芯片;地址段的大小划分根据所述Flash存储器芯片的不同定义也不一样,例如能定义一个地址段包含数个块,而一个块为256字节。通过一跳线来设置FPGA从所述Flash存储器加载程序的地址段。所述跳线设置在低地址端时,所述FPGA从所述Flash存储器的低地址段加载所述FPGA程序并运行;所述跳线设置在高地址端时,所述FPGA从所述Flash存储器的高地址段加载所述更新引导程序并运行。
步骤二、如图2所示,将更新引导程序固化在Flash中高地址段中。所述更新引导程序根据各不同的所述地址段设计了不同命令菜单,采用交互式方式进行更新,点击各所述命令时,各所述命令对应的地址段的更新文件会通过串口下载到各所述命令对应的地址段中。所述更新引导程序由串口文件接收模块、串口通信的差错校验模块、命令控制模块、Flash擦除模块、Flash读写模块、Flash操作有效性校验模块组成。所述更新文件为二进制文件,各所述命令对应的地址段包括低地址段、中地址段,分别用于所述FPGA程序、所述寄存器参数的更新。
步骤三、如图2所示,将所述FPGA通过一串口通信电平转换模块和一计算机相连,将串口调试工具或Windows的超级终端安装到所述计算机中,启动所述串口调试工具或Windows的超级终端并设置好串口通信参数步。所述串口通信参数包括波特率、串口端口、校验方式、数据位宽、停止位数。所述FPGA和所述计算机的连接方法为是通过所述FPGA的一串口通信接口和一RS-232电平转换模块相连、通过所述RS-232电平转换模块和所述计算机的COM口相连,且上述连接的电缆都为DB9接口的电缆。
步骤四、设置所述跳线到高地址端并启动所述FPGA,使所述FPGA从高地址段加载所述更新引导程序并运行,所述更新引导程序的命令菜单显示于所述串口调试工具或Windows的超级终端上,根据需要点击各所述命令,将各所述命令对应的地址段的更新文件通过串口下载到各所述命令对应的地址段中。这样就很方便的实现了FPGA程序和寄存器参数的更新,操作简单,使用灵活。
以上通过具体实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (7)
1.一种FPGA程序的升级方法,其特征在于,包括如下步骤:
步骤一、将Flash存储器的空间分成低、中、高三个地址段,分别用于存储FPGA程序、寄存器参数、更新引导程序;通过一跳线来设置FPGA从所述Flash存储器加载程序的地址段;
步骤二、将更新引导程序固化在Flash中高地址段中;所述更新引导程序根据各不同的所述地址段设计了不同命令菜单,采用交互式方式进行更新,点击各所述命令时,各所述命令对应的地址段的更新文件会通过串口下载到各所述命令对应的地址段中;
步骤三、将所述FPGA通过一串口通信电平转换模块和一计算机相连,将串口调试工具或Windows的超级终端安装到所述计算机中,启动所述串口调试工具或Windows的超级终端并设置好串口通信参数;
步骤四、设置所述跳线并启动所述FPGA,使所述FPGA从高地址段加载所述更新引导程序并运行,所述更新引导程序的命令菜单显示于所述串口调试工具或Windows的超级终端上,根据需要点击各所述命令,将各所述命令对应的地址段的更新文件通过串口下载到各所述命令对应的地址段中。
2.如权利要求1所述的FPGA程序的升级方法,其特征在于:步骤一中所述跳线设置在低地址端时,所述FPGA从所述Flash存储器的低地址段加载所述FPGA程序并运行;所述跳线设置在高地址端时,所述FPGA从所述Flash存储器的高地址段加载所述更新引导程序并运行。
3.如权利要求1所述的FPGA程序的升级方法,其特征在于:所述更新引导程序由串口文件接收模块、串口通信的差错校验模块、命令控制模块、Flash擦除模块、Flash读写模块、Flash操作有效性校验模块组成;
所述串口文件接收模块用于通过串口协议接收文件;
所述串口通信差错校验模块是用于依据串口协议验证接收的文件、数据是否存在误码;
所述命令控制模块是用于以菜单的方式显示需要对Flash更新操作的命令;
所述Flash擦除模块是用于将所述Flash存储器芯片进行擦除操作;
所述Flash读写模块是用于读写所述Flash存储器芯片;
所述Flash操作有效性校验模块是用于验证Flash操作过程是否成功。
4.如权利要求1所述的FPGA程序的升级方法,其特征在于:步骤三中所述FPGA和所述计算机的连接方法为是通过所述FPGA的一串口通信接口和一RS-232电平转换模块相连、通过所述RS-232电平转换模块和所述计算机的COM口相连,且上述连接的电缆都为DB9接口的电缆。
5.如权利要求1所述的FPGA程序的升级方法,其特征在于:所述更新文件为二进制文件,各所述命令对应的地址段包括低地址段、中地址段,分别用于所述FPGA程序、所述寄存器参数的更新。
6.如权利要求1或5所述的FPGA程序的升级方法,其特征在于:所述Flash存储器的用于存储所述寄存器参数的中地址段能细分为多个地址段。
7.如权利要求1所述的FPGA程序的升级方法,其特征在于:步骤三中所述串口通信参数包括波特率、串口端口、校验方式、数据位宽、停止位数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010245850XA CN102346677A (zh) | 2010-08-05 | 2010-08-05 | Fpga程序的升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010245850XA CN102346677A (zh) | 2010-08-05 | 2010-08-05 | Fpga程序的升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102346677A true CN102346677A (zh) | 2012-02-08 |
Family
ID=45545381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010245850XA Pending CN102346677A (zh) | 2010-08-05 | 2010-08-05 | Fpga程序的升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102346677A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999350A (zh) * | 2012-10-24 | 2013-03-27 | 绵阳市维博电子有限责任公司 | 一种数字信号处理平台中fpga程序升级在线下载方法 |
CN103838588A (zh) * | 2012-11-20 | 2014-06-04 | 广州市暨华医疗器械有限公司 | 通过can接口进行at90单片机程序在线更新的方法 |
CN106502723A (zh) * | 2016-09-29 | 2017-03-15 | 四川九洲电器集团有限责任公司 | 用于实现fpga程序动态升级及自加载的装置及方法 |
CN103856210B (zh) * | 2012-11-28 | 2017-09-12 | 艺伦半导体技术股份有限公司 | 一种控制fpga编程新地址的方法、装置及编程电路 |
CN107341034A (zh) * | 2017-07-02 | 2017-11-10 | 中国航空工业集团公司雷华电子技术研究所 | 一种采用uart接口更新fpga固化程序的结构及方法 |
CN107577438A (zh) * | 2017-09-22 | 2018-01-12 | 深圳市紫光同创电子有限公司 | 现场可编程门阵列中闪存的存储空间的划分方法及装置 |
CN107832078A (zh) * | 2017-09-15 | 2018-03-23 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 基于dsp的fpga程序在线更新电路 |
CN108199883A (zh) * | 2017-12-30 | 2018-06-22 | 深圳市兴森快捷电路科技股份有限公司 | 一种实现fpga在线自升级的系统及方法 |
CN111813432A (zh) * | 2020-06-01 | 2020-10-23 | 大唐微电子技术有限公司 | 一种fpga配置升级方法和fpga平台 |
-
2010
- 2010-08-05 CN CN201010245850XA patent/CN102346677A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999350A (zh) * | 2012-10-24 | 2013-03-27 | 绵阳市维博电子有限责任公司 | 一种数字信号处理平台中fpga程序升级在线下载方法 |
CN103838588A (zh) * | 2012-11-20 | 2014-06-04 | 广州市暨华医疗器械有限公司 | 通过can接口进行at90单片机程序在线更新的方法 |
CN103856210B (zh) * | 2012-11-28 | 2017-09-12 | 艺伦半导体技术股份有限公司 | 一种控制fpga编程新地址的方法、装置及编程电路 |
CN106502723A (zh) * | 2016-09-29 | 2017-03-15 | 四川九洲电器集团有限责任公司 | 用于实现fpga程序动态升级及自加载的装置及方法 |
CN107341034A (zh) * | 2017-07-02 | 2017-11-10 | 中国航空工业集团公司雷华电子技术研究所 | 一种采用uart接口更新fpga固化程序的结构及方法 |
CN107341034B (zh) * | 2017-07-02 | 2021-06-18 | 中国航空工业集团公司雷华电子技术研究所 | 一种采用uart接口更新fpga固化程序的结构及方法 |
CN107832078A (zh) * | 2017-09-15 | 2018-03-23 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 基于dsp的fpga程序在线更新电路 |
CN107832078B (zh) * | 2017-09-15 | 2020-09-22 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 基于dsp的fpga程序在线更新电路 |
CN107577438B (zh) * | 2017-09-22 | 2020-07-28 | 深圳市紫光同创电子有限公司 | 现场可编程门阵列中闪存的存储空间的划分方法及装置 |
CN107577438A (zh) * | 2017-09-22 | 2018-01-12 | 深圳市紫光同创电子有限公司 | 现场可编程门阵列中闪存的存储空间的划分方法及装置 |
CN108199883A (zh) * | 2017-12-30 | 2018-06-22 | 深圳市兴森快捷电路科技股份有限公司 | 一种实现fpga在线自升级的系统及方法 |
CN111813432A (zh) * | 2020-06-01 | 2020-10-23 | 大唐微电子技术有限公司 | 一种fpga配置升级方法和fpga平台 |
CN111813432B (zh) * | 2020-06-01 | 2024-10-08 | 大唐微电子技术有限公司 | 一种fpga配置升级方法和fpga平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102346677A (zh) | Fpga程序的升级方法 | |
CN102609286B (zh) | 一种基于处理器控制的fpga配置程序远程更新系统及其方法 | |
CN200976140Y (zh) | 一种用于现场可编程门阵列位文件升级的系统 | |
US11042365B2 (en) | Firmware updating method and electronic device using the same | |
CN102880495A (zh) | 移动终端及其软件升级方法 | |
CN105760200A (zh) | 终端设备及其系统升级方法 | |
CN104102585A (zh) | 映射信息记录方法、存储器控制器与存储器储存装置 | |
CN101008898A (zh) | 一种智能化设备软件升级与修复的方法和系统 | |
CN105279127A (zh) | 一种基于PCI或PCIe总线的FPGA程序下载系统及方法 | |
CN102520961A (zh) | 片外在线可编程的soc系统及其控制方法 | |
CN109460240A (zh) | 一种固件烧写组件及固件烧写方法、系统和存储介质 | |
CN102426528A (zh) | 一种导航定位接收机内核程序在线更新方法 | |
CN108694052B (zh) | 一种固件升级方法、固件升级装置及固件升级系统 | |
CN104281413A (zh) | 命令队列管理方法、存储器控制器及存储器储存装置 | |
CN101046789A (zh) | 一种数据传输方法、固件升级方法及总线下载器 | |
CN113741944A (zh) | 一种具备升级功能的机器程序系统及升级方法与应用 | |
CN104461589A (zh) | 单片机升级方法及升级系统 | |
CN102043636B (zh) | 现场可编程门阵列位文件下载的方法及装置 | |
CN101667133B (zh) | 固件更新方法和使用该方法更新固件的芯片 | |
CN102375749B (zh) | 一种采用i2c总线快速下载和更新固件的方法 | |
CN1677346A (zh) | 可编程器件程序更新方法及可更新程序的板卡 | |
CN116560688B (zh) | 用于域控制器的软件更新方法 | |
CN100576187C (zh) | 一种应用程序的开发调试方法及系统 | |
CN108334362A (zh) | 一种fpga芯片的升级方法、装置及存储设备 | |
CN101697129B (zh) | 嵌入式系统现场可编程门阵列逻辑自加载方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120208 |
|
WD01 | Invention patent application deemed withdrawn after publication |