CN101431441A - 一种内部植入cpu的fpga系统在线升级的方法 - Google Patents
一种内部植入cpu的fpga系统在线升级的方法 Download PDFInfo
- Publication number
- CN101431441A CN101431441A CNA2008102395931A CN200810239593A CN101431441A CN 101431441 A CN101431441 A CN 101431441A CN A2008102395931 A CNA2008102395931 A CN A2008102395931A CN 200810239593 A CN200810239593 A CN 200810239593A CN 101431441 A CN101431441 A CN 101431441A
- Authority
- CN
- China
- Prior art keywords
- fpga
- cpu
- hardware
- upgrade
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明为一种内部植入CPU的FPGA系统在线升级的方法。其主要特点是,FPGA中植入有经过裁剪的CPU以及在其上面运行的操作系统,其升级过程如下:在FPGA上电自检和初始化后,通过加载引导程序,启动网络驱动模块,从DHCP服务器接收网络参数,从DNS服务器中得到TFTP服务器的地址,当检测到用户升级开关打开时,从服务器下载升级文件到SDRAM中,经过校验后,写入FLASH芯片,升级成功后即可引导新的系统启动。本发明利用FPGA的软硬件可编程的特点,实现了系统软硬件同时在线升级,提高了系统的可扩展性和升级的灵活性。
Description
所属领域
本发明涉及含有FPGA(现场可编程门阵列)芯片的复杂电路系统,尤其涉及了一种用于内部植入CPU的FPGA软硬件系统在线升级的方法。
背景技术:
FPGA(Field Programmable Gate Array,现场可编程门阵列)是一种可以实现硬件编程的芯片,随着电子行业的发展,复杂FPGA芯片中可以植入精简的CPU系统,如Xilinx公司推出的两种32位的嵌入式处理器内核,一种是IBM PowerPC处理器硬核,另一种是采用IBM内部总线技术的MicroBlaze处理器软核。硬核可以提供更快的数据处理能力,而软核则具有更好的灵活性,在目标器件中可以进行任意的配置。
由于FPGA是一种掉电即失的芯片,因此一般上电后,必须通过存储在非易失性存储芯片(如FLASH)中的系统引导程序来对其进行硬件的初始化和系统的引导。因为系统引导程序和系统的镜像都存储在非易失性存储芯片中,所以可以通过升级存储器内部的文件实现FPGA系统的升级。
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供简单的文件传输服务。TFTP与FTP相比,它没有认证,没有密码,有容易实现的特点。它通过DHCP分配IP地址,仅仅通过末端设备指向TFTP服务器的IP地址,使得软硬件升级和网络启动变得简单。
对于复杂电子类产品,由于开发难度加大,用户安全要求的日益提高以及需求的不断变化,迫使生产厂家在开发完成后,需要不断通过产品升级来对系统功能进行改进和完善,且硬件系统的安全漏洞几乎无法通过软件系统升级来解决。对于存在较大安全漏洞的产品还需要进行产品召回,造成了极大的经济损失。FPGA可以实现硬件编程的同时,通过植入经过裁剪的操作系统也实现了软件编程。通常的在线升级都只提供了在操作系统下的软件升级,而对于如何实现软硬件的同时在线升级,却是一个正在探索的问题。
发明内容
本发明提出了一种可以实现内部植入CPU及操作系统的FPGA的在线升级方法,使其可以通过TFTP协议来实现FPGA的软硬件同时在线升级。
现阶段内部植入CPU的FPGA系统开发主要分为硬件设计和软件设计,硬件设计时,把用户功能模块及其驱动的接口通过系统总线与CPU相连,相应的硬件配置信息则都保存在硬件描述性文件中。而软件系统的设计独立与硬件来实现,通过开发工具提供的外设驱动以及大量的库函数来实现系统的功能。最后建立交叉编译环境,并把开发工具生成的文件导入到操作系统镜像中,生成包含软硬件功能的FPGA系统。
本发明的主要特点是,系统的大部分功能都在FPGA芯片内部实现,通过FPGA的嵌入式开发套件,即可实现软硬件协同编程,最后把生成的位文件通过TFTP服务器下载到需要升级的目标板。其中的目标板上的FPGA中植入有经过裁剪的CPU以及在其上面运行的操作系统,其升级过程如下:在FPGA上电自检后,通过加载引导程序,启动网络驱动模块,从DHCP服务器接收网络参数,从DNS服务器中得到TFTP服务器的地址,当检测到用户升级开关打开时,从服务器下载升级文件到SDRAM中,经过校验后,写入FLASH芯片,升级成功后即可引导新的系统启动。
本发明利的优点是,实现了一种内部植入CPU的FPGA系统的软硬件在线升级的方法,提高了系统的可扩展性和系统升级的灵活性,可以避免因为系统软硬件设计的BUG而造成的安全隐患,以及因此而召回产品带来的经济损失。
以下结合附图与具体实施方法对本发明进行进一步的说明。
附图说明
图1:内部植入CPU的FPGA系统及其必要外设和外部模块的结构示意图;
图2:系统在线升级的流程示意图;
图中需要说明的符号:
101:FPGA芯片;
102:FPGA内部植入的CPU软核或者硬核;
103:FPGA内部例化的片上存储器块;
104:FPGA内部例化的用于存储操作数的存储器块;
105:FPGA内部例化的用于存储指令的存储器块:
106:FPGA内部例化的串行UART接口,用于系统设计时的开发和调试:
107:FPGA内部例化的以太网控制器10/100M MAC功能模块;
108:FPGA内部例化的其他片上系统的外设;
109:FPGA内部例化的用于和CPU通信的用户接口逻辑模块:
110:用于用户功能实现的用户定义外设模块;
111:用于系统运行的SDRAM芯片;
112:用于存储引导程序和系统镜像的FLASH芯片;
113:含有10/100M PHY芯片的以太网接口电路模块;
114:TFTP远程服务器;
具体实施方案
如图1所示,内部植入CPU的FPGA系统及其必要功能模块包括FPGA内部的微处理器CPU,数据和指令存储器,片上数据存储器,用户逻辑接口及其外设,串行接口,10/100M MAC,片上系统外设,以及FPGA外连的SDRAM,FLASH,10/100M PHY模块。
其中,CPU可以是植入的硬核或者软核,它负责系统的运行和维护。操作系统主要负责管理外设和内存管理,用户逻辑接口及其外设是根据用户的需要开发的功能模块,FLASH中存储有引导程序以及系统的镜像文件,串口模块用于调试和开发系统,10/100M MAC模块通过外接的10/100M PHY模块连接到以太网上。
TFTP远程服务器上存储着升级文件,它响应FPGA中客户端的请求,通过TFTP协议,把升级文件传输到FPGA板上。其中的升级文件中既包含了软件的更新也可以包含硬件设备的更新。
升级过程如图2所示,系统上电启动以后先执行自检,然后从FLASH芯片中加载系统引导程序,系统引导程序用于初始化硬件系统,为系统提供配置信息以及引导并运行操作系统,系统引导程序中包含了10M/100M网络的功能,从而使得在FPGA原系统启动前对其进行在线升级成为可能。这里的配置网络模块是指启动简单的网络功能模块,从DHCP服务器接收网络参数,从DNS服务器中得到TFTP服务器的地址。当系统引导程序检测到用户升级开关打开,且网络配置正确以后,进入步骤207,向TFTP服务器发送请求,通过TFTP协议下载升级文件,否则回到步骤211,从FLASH中引导原操作系统启动。下载完成后进入步骤208,进行下载文件的校验,如果校验成功则进入步骤209,把下载的位文件写入到FLASH芯片中否则回到步骤211,引导原操作系统启动。当写入成功后,进入步骤210,引导升级后的操作系统启动,整个升级过程结束。
Claims (7)
1、一种内部植入CPU的FPGA系统在线升级的方法,该方法主要包括以下步骤:
(1)系统上电,在FPGA自检以后,运行系统引导程序,完成硬件系统的初始化并加载相关硬件的驱动程序;
(2)配置网络模块参数,包括发出DHCP请求,获得IP地址以及DNS服务器地址,通过DNS服务器解析出TFTP服务器地址;
(3)当判断升级开关打开后,通过TFTP协议下载升级文件到SDRAM中;
(4)下载文件校验成功后写入FLASH,完成升级操作。
2、如权利要求1所述的内部植入CPU的FPGA系统包括以下必要的功能模块:FPGA内部的微处理器CPU,数据和指令存储器,片上数据存储器,用户逻辑接口及其外设,串行接口,10/100M MAC,片上系统外设,以及FPGA外连的SDRAM,FLASH,10/100M PHY模块。
3、如权利要求1所述的升级文件,其既可以包括软件系统的升级更新内容也可以包括硬件系统的升级更新内容。
4、如权利要求1所述的内部植入CPU的FPGA芯片,其内部植入的CPU可以是软核,也可以是硬核,它负责系统引导程序和操作系统的运行。
5、如权利要求1和4所述的系统引导程序,其作用在于:初始化硬件系统,为系统提供配置信息以及引导操作系统,它包含了10M/100M网络的功能,通过判断升级开关的开关,执行引导原系统运行或是下载新的系统升级文件的操作。
6、如权利要求2中的FPGA内部的10/100M MAC模块其特征是,它通过外接的10/100M PHY模块实现与以太网的连接。
7、如权利要求2中所述的FLASH芯片,其特征是,它不仅保存着系统引导程序和操作系统的镜像,还用来保存下载的升级文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102395931A CN101431441B (zh) | 2008-12-12 | 2008-12-12 | 一种内部植入cpu的fpga系统在线升级的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102395931A CN101431441B (zh) | 2008-12-12 | 2008-12-12 | 一种内部植入cpu的fpga系统在线升级的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101431441A true CN101431441A (zh) | 2009-05-13 |
CN101431441B CN101431441B (zh) | 2011-09-07 |
Family
ID=40646620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102395931A Expired - Fee Related CN101431441B (zh) | 2008-12-12 | 2008-12-12 | 一种内部植入cpu的fpga系统在线升级的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101431441B (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102265256A (zh) * | 2011-06-03 | 2011-11-30 | 华为技术有限公司 | 通信设备升级控制方法、芯片及通信设备 |
CN102467522A (zh) * | 2010-11-10 | 2012-05-23 | 中兴通讯股份有限公司 | 一种基于nand闪存的文件系统的自编程方法及装置 |
CN102609287A (zh) * | 2012-02-10 | 2012-07-25 | 株洲南车时代电气股份有限公司 | 一种通过cpu远程更新fpga的装置及其方法 |
CN102609286A (zh) * | 2012-02-10 | 2012-07-25 | 株洲南车时代电气股份有限公司 | 一种基于处理器控制的fpga配置程序远程更新系统及其方法 |
CN103631674A (zh) * | 2012-08-24 | 2014-03-12 | 京信通信系统(中国)有限公司 | 嵌入cpu的fpga及其启动方法 |
CN103888464A (zh) * | 2014-03-28 | 2014-06-25 | 上海斐讯数据通信技术有限公司 | 基于tftp协议的文件传输方法 |
CN104007754A (zh) * | 2013-02-25 | 2014-08-27 | 通用汽车环球科技运作有限责任公司 | 用以改善控制模块更新时间的系统和方法 |
CN105320531A (zh) * | 2014-07-15 | 2016-02-10 | 北京自动化控制设备研究所 | 一种基于MicroBlaze软核的FPGA软件在线升级方法 |
CN105955783A (zh) * | 2016-05-09 | 2016-09-21 | 浙江大学 | 一种基于fpga控制的远程fpga逻辑代码的下载方法 |
WO2017080006A1 (zh) * | 2015-11-13 | 2017-05-18 | 邦彦技术股份有限公司 | 一种可节省存储芯片的集中存储方法及多功能模块系统 |
CN107301042A (zh) * | 2017-06-06 | 2017-10-27 | 北京航天自动控制研究所 | 一种带自检功能的SoC应用程序引导方法 |
CN107766065A (zh) * | 2016-08-19 | 2018-03-06 | 西安中车永电捷通电气有限公司 | Fpga芯片的软件升级方法及系统 |
CN108199883A (zh) * | 2017-12-30 | 2018-06-22 | 深圳市兴森快捷电路科技股份有限公司 | 一种实现fpga在线自升级的系统及方法 |
CN108829429A (zh) * | 2018-07-31 | 2018-11-16 | 上海古鳌电子科技股份有限公司 | 一种现金柜员机升级方法及系统 |
CN109426511A (zh) * | 2017-08-18 | 2019-03-05 | 西安诺瓦电子科技有限公司 | 软核更新方法和系统 |
CN109656612A (zh) * | 2019-01-24 | 2019-04-19 | 广东九联科技股份有限公司 | 基于云服务的嵌入式设备启动及在线无感升级系统及方法 |
CN109861981A (zh) * | 2018-12-28 | 2019-06-07 | 中科院计算技术研究所南京移动通信与计算创新研究院 | 一种信号变频采样测试控制方法、系统、装置及存储介质 |
CN110083376A (zh) * | 2019-04-18 | 2019-08-02 | 中国科学院电子学研究所 | 一种fpga更新配置文件的方法、系统、设备和介质 |
CN111026421A (zh) * | 2019-11-15 | 2020-04-17 | 深圳中电长城信息安全系统有限公司 | 一种升级装置 |
CN111198704A (zh) * | 2019-12-13 | 2020-05-26 | 南京理工大学 | 基于tcp协议的fpga远程升级系统 |
CN111934911A (zh) * | 2020-07-15 | 2020-11-13 | 北京自动化控制设备研究所 | 一种基于网络分发的fpga固件批量升级系统及方法 |
CN112379932A (zh) * | 2020-11-23 | 2021-02-19 | 歌尔科技有限公司 | 电子设备的Boot方法、Boot装置和电子设备 |
CN112600937A (zh) * | 2020-12-29 | 2021-04-02 | 北京神州飞航科技有限责任公司 | 一种fpga逻辑远程下载方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1249604C (zh) * | 2002-06-28 | 2006-04-05 | 华为技术有限公司 | 一种对现场可编程门阵列的在线加载方法 |
CN101000550A (zh) * | 2006-12-13 | 2007-07-18 | 青岛大学 | 一种嵌入式系统远程在线再配置方法 |
CN101211266A (zh) * | 2006-12-30 | 2008-07-02 | 北京天融信网络安全技术有限公司 | 一种实现fpga自动下载和在线升级的方法 |
CN100517341C (zh) * | 2007-11-06 | 2009-07-22 | 西安交通大学 | 基于软核cpu技术的电能质量监测专用集成电路的设计方法 |
-
2008
- 2008-12-12 CN CN2008102395931A patent/CN101431441B/zh not_active Expired - Fee Related
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467522B (zh) * | 2010-11-10 | 2013-09-11 | 中兴通讯股份有限公司 | 一种基于nand闪存的文件系统的自编程方法及装置 |
CN102467522A (zh) * | 2010-11-10 | 2012-05-23 | 中兴通讯股份有限公司 | 一种基于nand闪存的文件系统的自编程方法及装置 |
CN102265256A (zh) * | 2011-06-03 | 2011-11-30 | 华为技术有限公司 | 通信设备升级控制方法、芯片及通信设备 |
CN102609286B (zh) * | 2012-02-10 | 2015-08-05 | 株洲南车时代电气股份有限公司 | 一种基于处理器控制的fpga配置程序远程更新系统及其方法 |
CN102609286A (zh) * | 2012-02-10 | 2012-07-25 | 株洲南车时代电气股份有限公司 | 一种基于处理器控制的fpga配置程序远程更新系统及其方法 |
CN102609287B (zh) * | 2012-02-10 | 2015-08-05 | 株洲南车时代电气股份有限公司 | 一种通过cpu远程更新fpga的装置及其方法 |
CN102609287A (zh) * | 2012-02-10 | 2012-07-25 | 株洲南车时代电气股份有限公司 | 一种通过cpu远程更新fpga的装置及其方法 |
CN103631674A (zh) * | 2012-08-24 | 2014-03-12 | 京信通信系统(中国)有限公司 | 嵌入cpu的fpga及其启动方法 |
CN104007754A (zh) * | 2013-02-25 | 2014-08-27 | 通用汽车环球科技运作有限责任公司 | 用以改善控制模块更新时间的系统和方法 |
CN104007754B (zh) * | 2013-02-25 | 2017-05-03 | 通用汽车环球科技运作有限责任公司 | 用以改善控制模块更新时间的系统和方法 |
CN103888464A (zh) * | 2014-03-28 | 2014-06-25 | 上海斐讯数据通信技术有限公司 | 基于tftp协议的文件传输方法 |
CN105320531A (zh) * | 2014-07-15 | 2016-02-10 | 北京自动化控制设备研究所 | 一种基于MicroBlaze软核的FPGA软件在线升级方法 |
WO2017080006A1 (zh) * | 2015-11-13 | 2017-05-18 | 邦彦技术股份有限公司 | 一种可节省存储芯片的集中存储方法及多功能模块系统 |
CN105955783A (zh) * | 2016-05-09 | 2016-09-21 | 浙江大学 | 一种基于fpga控制的远程fpga逻辑代码的下载方法 |
CN107766065A (zh) * | 2016-08-19 | 2018-03-06 | 西安中车永电捷通电气有限公司 | Fpga芯片的软件升级方法及系统 |
CN107301042A (zh) * | 2017-06-06 | 2017-10-27 | 北京航天自动控制研究所 | 一种带自检功能的SoC应用程序引导方法 |
CN107301042B (zh) * | 2017-06-06 | 2020-07-14 | 北京航天自动控制研究所 | 一种带自检功能的SoC应用程序引导方法 |
CN109426511A (zh) * | 2017-08-18 | 2019-03-05 | 西安诺瓦电子科技有限公司 | 软核更新方法和系统 |
CN108199883A (zh) * | 2017-12-30 | 2018-06-22 | 深圳市兴森快捷电路科技股份有限公司 | 一种实现fpga在线自升级的系统及方法 |
CN108829429A (zh) * | 2018-07-31 | 2018-11-16 | 上海古鳌电子科技股份有限公司 | 一种现金柜员机升级方法及系统 |
CN109861981A (zh) * | 2018-12-28 | 2019-06-07 | 中科院计算技术研究所南京移动通信与计算创新研究院 | 一种信号变频采样测试控制方法、系统、装置及存储介质 |
CN109656612A (zh) * | 2019-01-24 | 2019-04-19 | 广东九联科技股份有限公司 | 基于云服务的嵌入式设备启动及在线无感升级系统及方法 |
CN109656612B (zh) * | 2019-01-24 | 2024-02-06 | 广东九联科技股份有限公司 | 基于云服务的嵌入式设备启动及在线无感升级系统及方法 |
CN110083376A (zh) * | 2019-04-18 | 2019-08-02 | 中国科学院电子学研究所 | 一种fpga更新配置文件的方法、系统、设备和介质 |
CN111026421A (zh) * | 2019-11-15 | 2020-04-17 | 深圳中电长城信息安全系统有限公司 | 一种升级装置 |
CN111198704A (zh) * | 2019-12-13 | 2020-05-26 | 南京理工大学 | 基于tcp协议的fpga远程升级系统 |
CN111934911A (zh) * | 2020-07-15 | 2020-11-13 | 北京自动化控制设备研究所 | 一种基于网络分发的fpga固件批量升级系统及方法 |
CN112379932A (zh) * | 2020-11-23 | 2021-02-19 | 歌尔科技有限公司 | 电子设备的Boot方法、Boot装置和电子设备 |
CN112379932B (zh) * | 2020-11-23 | 2023-05-23 | 歌尔科技有限公司 | 电子设备的Boot方法、Boot装置和电子设备 |
CN112600937A (zh) * | 2020-12-29 | 2021-04-02 | 北京神州飞航科技有限责任公司 | 一种fpga逻辑远程下载方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101431441B (zh) | 2011-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101431441B (zh) | 一种内部植入cpu的fpga系统在线升级的方法 | |
CN105745617B (zh) | 用于预启动固件更新的选择性功率管理 | |
US9507604B2 (en) | Boot method and boot system | |
KR101856284B1 (ko) | 장치의 초기화 동안 펌웨어의 백업 | |
CN103207797B (zh) | 基于通用可扩展固件接口固件系统的胶囊式定制更新方法 | |
CN106201563B (zh) | 启动参数的配置方法和装置、主板启动的方法和装置 | |
US8171276B2 (en) | Minimal startup mode for performing multiple-reboot configuration | |
US20090271780A1 (en) | Automatic complete firmware upgrade | |
CN105094927A (zh) | 一种设备固件升级方法和装置 | |
CN103221919A (zh) | 在操作系统(os)缺席的服务环境中供应固件的方法 | |
WO2006069492A1 (en) | Manageability extension mechanism for system firmware | |
CN105677409B (zh) | 一种系统升级方法及装置 | |
EP1631905A1 (en) | Dynamic bios execution and concurrent update for a blade server | |
US8214825B2 (en) | Electronic device and method for installing software | |
CN105830021A (zh) | 可更新集成电路无线电 | |
CN101639877B (zh) | 电子装置及其更新基本输入输出系统方法 | |
CN102446101A (zh) | 固件强制升级的系统及其固件的强制升级方法 | |
CN100580627C (zh) | 启动计算机系统的方法和设备 | |
CN106155713B (zh) | 启动信息管理方法及装置 | |
WO2022036670A1 (en) | Methods and apparatus to perform an enhanced s3 protocol to update firmware with a boot script update | |
US10198270B2 (en) | Dynamic hardware configuration via firmware interface at computing device boot | |
CN116450224A (zh) | 基于清除cmos的数据的恢复方法及装置、系统 | |
CN114691180A (zh) | 处理器芯片的软件升级方法、装置、处理器和处理器系统 | |
CN114527994A (zh) | 固件的烧写方法、系统、车辆控制系统 | |
Pon Rahul et al. | Enhancement of Software and Data Portability by Normalizing Variations in Hardware |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110907 Termination date: 20111212 |