CN101697129B - 嵌入式系统现场可编程门阵列逻辑自加载方法及系统 - Google Patents
嵌入式系统现场可编程门阵列逻辑自加载方法及系统 Download PDFInfo
- Publication number
- CN101697129B CN101697129B CN200910181066.4A CN200910181066A CN101697129B CN 101697129 B CN101697129 B CN 101697129B CN 200910181066 A CN200910181066 A CN 200910181066A CN 101697129 B CN101697129 B CN 101697129B
- Authority
- CN
- China
- Prior art keywords
- logic
- module
- loading
- veneer
- field programmable
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种嵌入式系统现场可编程门阵列逻辑自加载方法及系统,该方法包括:将单板逻辑引导模块,与单板逻辑下载模块进行绑定,以获得自动启动加载逻辑模块;自动启动加载逻辑模块启动现场可编程门阵列;和自动启动加载逻辑模块将现场可编程门阵列的逻辑文件,根据记载的加载方式进行加载。该系统包括绑定模块,用于将单板逻辑引导模块,与单板逻辑下载模块进行绑定,以获得自动启动加载逻辑模块;自动启动加载逻辑模块,用于启动现场可编程门阵列;和将现场可编程门阵列的逻辑文件,根据记载的加载方式进行加载。因此,本发明通过绑定方式,使得单板逻辑的内容、下载方式等相关因素改变的情况下不再需要重新编译和构建应用程序代码。
Description
技术领域
本发明涉及嵌入式系统的现场可编程门阵列(Field Programmable GateArray,简称FPGA),尤其涉及一种嵌入式系统FPGA逻辑自加载方法和系统。
背景技术
在单板软件研发过程中,FPGA已经变成单板硬件上必不可少的核心器件。目前FPGA种类繁多,加载方法更是有很多种。如:串行加载、并行加载、JATG(Joint Test Action Group,中文名称为联合测试行为组织)方式加载,JATG是一种国际标准测试协议(IEEE 1149.1兼容),可对具有JTAG接口的芯片的硬件电路进行边界扫描和故障检测。单板软件以前加载FPGA的做法是将FPGA加载方法放到应用程序存储空间,并通过混合编译的方法与单板软件绑定,在单板软件初始化过程中由存储空间读出,然后根据加载方式不同进行逻辑加载。
上述做法的缺点是每换一种FPGA或者更换一种加载方法,都要修改应用程序代码并重新编译,然后还需要先升级应用程序再升级FPGA逻辑,才能支持新的FPGA加载方法。
为了避免由此产生的应用程序版本变更,只能通过限制硬件使用某几种加载方法统一的FPGA芯片来解决,造成FPGA选型困难。对于未来可能出现的新型高效的FPGA加载方法,只能通过先升级应用程序再升级FPGA逻辑而不能通过单独升级FPGA逻辑来支持。
发明内容
本发明所要解决的技术问题是提供一种嵌入式系统FPGA逻辑自加载方法和系统,以解决现有技术中只能通过先升级应用程序再升级FPGA逻辑而不能通过单独升级FPGA逻辑的问题。
为了解决上述技术问题,本发明提供了一种嵌入式系统FPGA逻辑自加载方法,该方法包括以下步骤:
将第一存储空间中存储的单板逻辑引导模块,与第二存储空间中存储的单板逻辑下载模块进行绑定,以获得自动启动加载逻辑模块;
所述自动启动加载逻辑模块启动现场可编程门阵列;和
所述自动启动加载逻辑模块将所述现场可编程门阵列的逻辑文件,根据所述单板逻辑下载模块中记载的加载方式进行加载。
上述过程之后还包括:
所述自动启动加载逻辑模块将程序指针指向第三存储空间存储的单板应用程序模块。
所述自动启动加载逻辑模块将所述现场可编程门阵列的逻辑文件,根据所述单板逻辑下载模块中记载的加载方式进行加载具体包括:
确定当前单板上的逻辑状态还没有正常加载所述逻辑文件;
从所述单板逻辑下载模块中获取单板逻辑类型;
所述自动启动加载逻辑模块获取单板待加载的所述逻辑文件;
所述自动启动加载逻辑模块从所述单板逻辑下载模块中确定当前逻辑的所述加载方式;和
所述自动启动加载逻辑模块根据所述加载方式将所述逻辑文件加载至所述现场可编程门阵列。
所述自动启动加载逻辑模块启动所述现场可编程门阵列具体为:
所述自动启动加载逻辑模块根据所述单板逻辑引导模块将所述单板逻辑下载模块进行初始化;
所述单板逻辑下载模块将所述现场可编程门阵列启动。
本发明还提供了一种嵌入式系统FPGA逻辑自加载系统,该系统包括:
绑定模块,用于将第一存储空间中存储的单板逻辑引导模块,与第二存储空间中存储的单板逻辑下载模块进行绑定,以获得自动启动加载逻辑模块;
所述自动启动加载逻辑模块,用于启动现场可编程门阵列;和将所述现场可编程门阵列的逻辑文件,根据所述单板逻辑下载模块中记载的加载方式进行加载。
所述的嵌入式系统现场可编程门阵列逻辑自加载系统还包括:
所述自动启动加载逻辑模块,还用于将程序指针指向第三存储空间存储的单板应用程序模块。
所述自动启动加载逻辑模块具体包括:
加载确定模块,用于确定当前单板上的逻辑状态还未正常加载所述逻辑文件;
自动加载逻辑模块,用于从所述单板逻辑下载模块中获取单板逻辑类型;获取单板待加载的所述逻辑文件;从所述单板逻辑下载模块中确定当前逻辑的所述加载方式;和根据所述加载方式将所述逻辑文件加载至所述现场可编程门阵列。
所述自动启动加载逻辑模块还包括:
自动启动模块,用于将所述单板逻辑下载模块进行初始化;所述单板逻辑下载模块将所述现场可编程门阵列启动。
因此,本发明提供的嵌入式系统FPGA逻辑自加载方法和系统,通过绑定方式,使得单板软件单板逻辑的内容、下载方式等相关因素改变的情况下不再需要重新编译和构建应用程序代码。
附图说明
图1为本发明一种嵌入式系统FPGA逻辑自加载方法流程图;
图2为程序承载媒体存储空间示例简图;
图3为本发明一种嵌入式系统FPGA逻辑自加载方法中加载逻辑文件的流程图。
具体实施方式
下面通过附图和实施例,对本发明实施例的技术方案做进一步的详细描述。
如图1所示,为本发明一种嵌入式系统FPGA逻辑自加载方法流程图。如图中所示,该方法包括以下步骤:
步骤10,将第一存储空间中存储的单板逻辑引导模块,与第二存储空间中存储的单板逻辑下载模块进行绑定,以获得自动启动加载逻辑模块;
上述单板逻辑引导模块和单板逻辑下载模块在存储空间中的示例如图2所示,A部分存储空间即第二存储空间,存储的是单板逻辑下载模块,即为单板逻辑待下载程序。该部分存储空间中的单板逻辑下载模块是可以变化的部分。由于单板逻辑器件类型的不同、逻辑下载方式的不同以及逻辑版本升级等多方面的原因,该部分单板逻辑下载模块会随着它们的改变而改变。B部分存储空间即第一存储空间中存储的是单板逻辑引导模块,即为单板逻辑自动加载程序。该部分由一小段启动代码构成,支持所有的逻辑厂家及逻辑的下载方式。该段代码与A部分进行绑定,这样就可以得到一个可以自动启动并加载逻辑的程序即自动启动加载逻辑模块。该部分主要功能就是启动最基本的单板核心器件(核心器件指的是最小MCU系统)以及FPGA,然后将逻辑文件通过相应的方式进行加载,即执行以下步骤:
步骤11,所述自动启动加载逻辑模块启动所述FPGA;该过程具体为所述自动启动加载逻辑模块根据所述单板逻辑引导模块将所述单板逻辑下载模块进行初始化;在初始化时,所述单板逻辑下载模块将所述FPGA启动。
步骤12,所述自动启动加载逻辑模块将所述FPGA的逻辑文件,根据所述单板逻辑下载模块中记载的加载方式进行加载。
如图所示,在上述过程之后还包括,加载成功之后执行步骤13:所述自动启动加载逻辑模块将程序指针指向第三存储空间存储的单板应用程序模块。即将软件的程序指针指向单板应用程序C部分,单板应用程序正常执行。如图所示的,C部分存储空间即第三存储空间,其中存储的即是单板应用程序模块。其中单板应用软件部分,在现有的方式中是与FPGA程序绑定,而在本发明中为独立执行,不再关心逻辑程序如何下载,仅处理其本身的单板应用程序功能即可,因此功能复杂性降低了很多。
因此,本发明通过上述这种绑定方式,使得单板软件单板逻辑的内容、下载方式等相关因素改变的情况下不再需要重新编译和构建应用程序代码,这样可以控制单板软件的版本数量及版本间的一致性。
而上述各模块的存储空间如图2所示,程序承载媒体存储空间示例简图。存储空间大体分为四个部分:第一部分:单板逻辑引导程序存储空间21,用于存储单板逻辑自动加载程序;第二部分:单板逻辑待下载程序存储空间22,用于存储单板逻辑待下载程序;上述两个部分绑定(即A+B部分)成为自动启动加载逻辑模块,而存储空间被称之为自动启动加载逻辑存储空间20,。第三部分(即C部分):单板应用程序存储空间23,用于存储单板应用程序。程序承载媒体存储空间中还包括第四部分(D部分):单板逻辑程序存储空间24,用于存储单板逻辑程序(即单板逻辑文件)。
如图3所示,为本发明一种嵌入式系统FPGA逻辑自加载方法中加载逻辑文件的流程图。该图描述上述步骤12的具体过程,其具体包括:
步骤31,确定当前单板上的逻辑状态是否还未正常加载所述逻辑文件;是则执行步骤32,如果已加载,则执行步骤13(该步骤在图中省略);
步骤32,所述自动启动加载逻辑模块从所述单板逻辑下载模块中获取单板逻辑类型;
步骤33,所述自动启动加载逻辑模块从存储空间D部分获取单板待加载的所述单板逻辑文件;
步骤34,所述自动启动加载逻辑模块从所述单板逻辑下载模块中确定当前逻辑的所述加载方式,即单板逻辑下载模块中包含了单板逻辑类型、加载方式等关键信息;和
步骤35,所述自动启动加载逻辑模块根据所述加载方式将所述逻辑文件加载至所述FPGA。
因此,通过本发明这种方法,单板应用程序将不再对逻辑下载部分进行适配和兼容,仅需要从单板自身功能方面考虑即可。这样有利于降低单板软件的复杂度和耦合性。并且由于采用了本方法,单板软件(即单板应用程序)的修改和FPGA上运行的程序即所要加载的单板逻辑程序的修改彼此分开,不会有牵一发而动全身的效果。单板逻辑下载模块的独立构建和执行,有助于软件的版本控制,还大大降低的单板开发人员对功能软件的维护成本。
而由此(1)减少了由于FPGA加载方法变更导致的FPGA逻辑开发与应用程序开发之间的耦合,甚至做到FPGA自加载逻辑与应用程序之间都不需要严格的版本匹配关系。(2)FPGA加载方法变更以后不需要先升级应用程序再升级FPGA逻辑,只需要单独升级FPGA自加载逻辑(即A部分存储空间即第二存储空间存储的是单板逻辑下载模块)即可,减少了操作步骤,从而减少了误操作的可能性。
相应地,本发明提出了一种嵌入式系统FPGA逻辑自加载系统,包括:
绑定模块,用于将第一存储空间中存储的单板逻辑引导模块,与第二存储空间中存储的单板逻辑下载模块进行绑定,以获得自动启动加载逻辑模块;
所述自动启动加载逻辑模块,用于启动所述FPGA;和将所述FPGA的逻辑文件,根据所述单板逻辑下载模块中记载的加载方式进行加载。
该嵌入式系统FPGA逻辑自加载系统还包括:所述自动启动加载逻辑模块,还用于将程序指针指向第三存储空间存储的单板应用程序模块。
其中所述自动启动加载逻辑模块具体包括:
加载确定模块,用于确定当前单板上的逻辑状态还未正常加载所述逻辑文件;
自动加载逻辑模块,用于从所述单板逻辑下载模块中获取单板逻辑类型;获取单板待加载的所述逻辑文件;从所述单板逻辑下载模块中确定当前逻辑的所述加载方式;和根据所述加载方式将所述逻辑文件加载至所述FPGA。
所述自动启动加载逻辑模块还包括:自动启动模块,用于将所述单板逻辑下载模块进行初始化;所述单板逻辑下载模块将所述FPGA启动。
该嵌入式系统FPGA逻辑自加载系统可以执行上述图1描述的流程,从而使得单板软件单板逻辑的内容、下载方式等相关因素改变的情况下不再需要重新编译和构建应用程序代码,这样可以控制单板软件的版本数量及版本间的一致性。
最后应当说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明进行修改、更改或者等同替换,而不脱离本发明和权利要求的精神和范围。
Claims (6)
1.一种嵌入式系统现场可编程门阵列逻辑自加载方法,其特征在于包括:
将第一存储空间中存储的单板逻辑引导模块,与第二存储空间中存储的单板逻辑下载模块进行绑定,以获得自动启动加载逻辑模块;
所述自动启动加载逻辑模块启动现场可编程门阵列;和
所述自动启动加载逻辑模块将所述现场可编程门阵列的逻辑文件,根据所述单板逻辑下载模块中记载的加载方式进行加载;
其中,所述自动启动加载逻辑模块将所述现场可编程门阵列的逻辑文件,根据所述单板逻辑下载模块中记载的加载方式进行加载包括:
确定当前单板上的逻辑状态还没有正常加载所述逻辑文件;
从所述单板逻辑下载模块中获取单板逻辑类型;
所述自动启动加载逻辑模块获取单板待加载的所述逻辑文件;
所述自动启动加载逻辑模块从所述单板逻辑下载模块中确定当前逻辑的所述加载方式;和
所述自动启动加载逻辑模块根据所述加载方式将所述逻辑文件加载至所述现场可编程门阵列。
2.如权利要求1所述的嵌入式系统现场可编程门阵列逻辑自加载方法,其特征在于上述过程之后还包括:
所述自动启动加载逻辑模块将程序指针指向第三存储空间存储的单板应用程序模块。
3.如权利要求1所述的嵌入式系统现场可编程门阵列逻辑自加载方法,其特征在于所述自动启动加载逻辑模块启动所述现场可编程门阵列具体为:
所述自动启动加载逻辑模块根据所述单板逻辑引导模块将所述单板逻辑下载模块进行初始化;
所述单板逻辑下载模块将所述现场可编程门阵列启动。
4.一种嵌入式系统现场可编程门阵列逻辑自加载系统,其特征在于包括:
绑定模块,用于将第一存储空间中存储的单板逻辑引导模块,与第二存储空间中存储的单板逻辑下载模块进行绑定,以获得自动启动加载逻辑模块;
所述自动启动加载逻辑模块,用于启动现场可编程门阵列;和将所述现场可编程门阵列的逻辑文件,根据所述单板逻辑下载模块中记载的加载方式进行加载;
其中,所述自动启动加载逻辑模块包括:
加载确定模块,用于确定当前单板上的逻辑状态还未正常加载所述逻辑文件;
自动加载逻辑模块,用于从所述单板逻辑下载模块中获取单板逻辑类型;获取单板待加载的所述逻辑文件;从所述单板逻辑下载模块中确定当前逻辑的所述加载方式;和根据所述加载方式将所述逻辑文件加载至所述现场可编程门阵列。
5.如权利要求4所述的嵌入式系统现场可编程门阵列逻辑自加载系统,其特征在于还包括:
所述自动启动加载逻辑模块,还用于将程序指针指向第三存储空间存储的单板应用程序模块。
6.如权利要求4所述的嵌入式系统现场可编程门阵列逻辑自加载系统,其特征在于所述自动启动加载逻辑模块还包括:
自动启动模块,用于将所述单板逻辑下载模块进行初始化;所述单板逻辑下载模块将所述现场可编程门阵列启动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910181066.4A CN101697129B (zh) | 2009-10-27 | 2009-10-27 | 嵌入式系统现场可编程门阵列逻辑自加载方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910181066.4A CN101697129B (zh) | 2009-10-27 | 2009-10-27 | 嵌入式系统现场可编程门阵列逻辑自加载方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101697129A CN101697129A (zh) | 2010-04-21 |
CN101697129B true CN101697129B (zh) | 2014-06-04 |
Family
ID=42142234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910181066.4A Active CN101697129B (zh) | 2009-10-27 | 2009-10-27 | 嵌入式系统现场可编程门阵列逻辑自加载方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101697129B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101963943B (zh) * | 2010-06-30 | 2015-04-29 | 上海华岭集成电路技术股份有限公司 | 寻找fpga配置文件与clb块配置资源的映射方法 |
CN106200457B (zh) * | 2016-06-28 | 2019-07-26 | 中车株洲电力机车研究所有限公司 | 一种程序下载方法及装置 |
CN106325941A (zh) * | 2016-08-25 | 2017-01-11 | 许继集团有限公司 | 一种嵌入式设备的fpga动态功能切换方法及装置 |
CN111142915B (zh) * | 2018-11-06 | 2023-04-25 | 阿里巴巴集团控股有限公司 | 更新方法、装置和设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354657A (zh) * | 2008-09-09 | 2009-01-28 | 京信通信系统(中国)有限公司 | 现场可编程门阵列的加载方法及加载电路 |
CN101441574A (zh) * | 2007-11-20 | 2009-05-27 | 中兴通讯股份有限公司 | 一种嵌入式系统中多fpga逻辑加载的方法 |
CN101452502A (zh) * | 2008-12-30 | 2009-06-10 | 华为技术有限公司 | 加载现场可编程门阵列fpga的方法、装置与系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030212940A1 (en) * | 2001-10-16 | 2003-11-13 | Dale Wong | Interface architecture for embedded field programmable gate array cores |
-
2009
- 2009-10-27 CN CN200910181066.4A patent/CN101697129B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441574A (zh) * | 2007-11-20 | 2009-05-27 | 中兴通讯股份有限公司 | 一种嵌入式系统中多fpga逻辑加载的方法 |
CN101354657A (zh) * | 2008-09-09 | 2009-01-28 | 京信通信系统(中国)有限公司 | 现场可编程门阵列的加载方法及加载电路 |
CN101452502A (zh) * | 2008-12-30 | 2009-06-10 | 华为技术有限公司 | 加载现场可编程门阵列fpga的方法、装置与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101697129A (zh) | 2010-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101763279B (zh) | 一种BootLoader架构设计方法 | |
KR100778293B1 (ko) | 디지털방송처리장치 및 디지털방송처리장치 부트로더의업그레이드 방법 | |
CN102200916B (zh) | 电子设备、可配置的部件及该部件的配置信息存储方法 | |
US10846073B2 (en) | Methods, apparatuses, terminals, servers, and systems for container generation | |
CN110096300B (zh) | 一种fpga程序文件备份管理系统、运行方法及升级方法 | |
US11042365B2 (en) | Firmware updating method and electronic device using the same | |
US20080252335A1 (en) | Robust and economic solution for fpga bitfile upgrade | |
CN101697129B (zh) | 嵌入式系统现场可编程门阵列逻辑自加载方法及系统 | |
CN104123153A (zh) | 用于使用usb升级固件的装置与方法 | |
CN102915247A (zh) | Apk插件化管理方法 | |
CN111562934B (zh) | 一种基于热补丁的软件系统升级方法、终端及存储介质 | |
WO2012071852A1 (zh) | 引导程序的升级方法和装置 | |
US5940627A (en) | User selectable feature set for a flash ROM based peripheral | |
CN112527365B (zh) | 应用程序更新方法、非易失存储器、存储介质及家用电器 | |
CN101334737A (zh) | 一种嵌入式设备的启动或复位方法 | |
EP2648092B1 (en) | Updating method and multi-domain embedded system | |
EP3540598A1 (en) | Method, device and server for checking a defective function | |
CN113467797B (zh) | 程序更新方法、装置和系统以及计算机可读存储介质 | |
CN109976958A (zh) | 提升固件测试效率的方法、装置及存储介质 | |
CN114691180A (zh) | 处理器芯片的软件升级方法、装置、处理器和处理器系统 | |
KR20070060448A (ko) | 2단계 부트로더를 이용한 시스템 업그레이드 장치 및 방법 | |
CN100483349C (zh) | 软件加载方法及其系统 | |
KR100478463B1 (ko) | 응용 프로그램의 동적링크 방법 | |
CN106104474B (zh) | 用于更新低存储量装置上的固件的方法 | |
US20090089779A1 (en) | Apparatus system and method for customizing a computing environment |
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 |