CN100454252C - 一种cpu程序下载多个fpga文件的方法 - Google Patents
一种cpu程序下载多个fpga文件的方法 Download PDFInfo
- Publication number
- CN100454252C CN100454252C CNB2006100772712A CN200610077271A CN100454252C CN 100454252 C CN100454252 C CN 100454252C CN B2006100772712 A CNB2006100772712 A CN B2006100772712A CN 200610077271 A CN200610077271 A CN 200610077271A CN 100454252 C CN100454252 C CN 100454252C
- Authority
- CN
- China
- Prior art keywords
- file
- fpga
- files
- merged
- downloaded
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种CPU程序下载多个FPGA文件的方法,首先将多个待下载的FPGA文件合并,合并后的文件包括文件头、文件1、…、文件n;其次将第一步中合并后的文件存储到存储区;最后CPU应用程序运行后,读取文件头信息,根据文件头信息找到各个文件的起始地址,对各个FPGA文件进行下载。应用本发明,相比文件的分区存储方式,充分利用了存储器存储资源,提高了存储器的存储效率,而且由于不需要程序对存储器进行分区管理,实现起来简单易行。
Description
技术领域
本发明涉及计算机领域,尤其涉及使用可编程逻辑阵列的电路领域,涉及到采用CPU应用程序下载多个FPGA文件的应用方法。
背景技术:
本发明中的装置完全如前发明《200310113549.3 FPGA逻辑程序下载装置》中所述的装置,提供了一种对多个FPGA文件下载的实现方法。
在发明《200310113549.3 FPGA逻辑程序下载装置》中提到,在FPGA的电路中,在存储器中存储FPGA的逻辑程序代码文件,由CPU应用程序读出存储器中的逻辑代码,完成对FPGA的下载。
为了实现这一过程,CPU需要预先知道逻辑文件在存储器的起始偏移地址,当逻辑文件改变时,只需要把更新后的逻辑文件按照原来的方式在这个约定好的起始地址开始存放,CPU应用程序固定从这个地址读取新的逻辑文件,就可以完成新的FPGA下载。由于预先约定的起始位置不变,因此逻辑文件升级时不需要CPU应用程序的更新。
由于电路板应用的多样化,一些电路板上会存在两种甚至多种类型的FPGA,独立生成多个FPGA文件,这就需要一个CPU应用程序下载多个FPGA文件,由此涉及到了采用一个CPU应用程序下载多个FPGA文件的实现方法。
目前最常用的方法是:
根据文件数和文件大小估计预先对存储器进行空间分配,如图1所示。图1以3个FPGA文件为例,预先为三个文件分别分配了area1、area2、area3三个区域,文件各自存储在三个区域,图中所示空白区域为未占用的空间。
这种方法需要预先为每个文件分配空间,为保证每个文件空间足够用,分配时需要预留足够的空间,造成很大一部分空间的浪费。另外对存储器进行分区,增加程序对存储区的管理难度。
针对这种情况,发明了一种灵活方便的实现方法,既可以充分利用存储空间,又不需要CPU程序对存储区的进行额外的管理。
发明内容
本发明的目的是提供一种灵活高效的用CPU程序实现多个FPGA文件下载的技术方法,解决存储区分区方案所存在的弊端。
本发明的核心思想为:在CPU下载多个FPGA文件的系统中,如何有效地对多个FPGA文件进行存储管理,以及CPU应用程序如何实现对这些文件的访问的一种方法。
本发明所述CPU应用程序下载多个FPGA文件的核心方法如下:
第一步:将多个待下载的FPGA文件合并,合并后的文件包括文件头、FPGA文件1、FPGA文件2....FPGA文件n,各个FPGA文件在存储区内连续存储;其中,文件头中的信息包括待下载的FPGA文件的数目n、各个FPGA文件在存储区内的起始地址和长度;
第二步:将第一步中合并后的文件存储到存储区;
第三步:CPU应用程序运行后,读取文件头信息,根据文件头信息找到各个文件的起始地址,对各个FPGA文件进行下载。
采用本发明所述方法,将文件连续存储在存储区内,相比文件的分区存储方式,充分利用了存储器存储资源,提高了存储器的存储效率,而且由于不需要程序对存储器进行分区管理,实现起来简单易行。
附图说明
图1:存储空间分配示意图
图2:合并后的文件示意图
具体实施方式:
以3个文件举例。
第一步:合并文件。
首先按照以下格式把3个待下载文件按照如下格式合并起来,其主要特点是增加了文件头header。合并后的文件头部信息有该文件所包含的文件成员的总数目以及每个文件成员在合并文件里的存储位置和长度等信息。
信息头结构依次包括如下信息:被合并的文件数目,第一个文件的起始地址和长度,第二个文件的起始地址和长度,第三个文件的起始地址和长度。
为了合并方便,可以根据自己的实现需求编制合并软件小工具,使用小工具来实现文件合并,将多个待下载文件作为输入,按照信息头的结构加入信息头信息后输出合并后的文件,这样就避免了手工合并文件繁琐易出错的弊端。
第二步:把合并后的文件存储在存储器里面,
第三步:CPU应用程序里读取各个文件。
CPU应用程序读取合并文件的信息头,按照第一步合并时信息头的格式来定义信息头结构,通过变量引用的方式就可以获取到合并文件包括的文件数目以及每个文件成员的存储地址和长度信息。
Claims (1)
1、一种CPU程序下载多个FPGA文件的方法,包括如下步骤:
第一步:将多个待下载的FPGA文件合并,合并后的文件包括文件头、FPGA文件1、FPGA文件2....FPGA文件n,各个FPGA文件在存储区内连续存储;其中,文件头中的信息包括待下载的FPGA文件的数目n、各个FPGA文件在存储区内的起始地址和长度;
第二步:将第一步中合并后的文件存储到存储区;
第三步:CPU程序运行后,读取文件头中的信息,根据文件头中的信息找到各个FPGA文件的起始地址,对各个FPGA文件进行下载。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100772712A CN100454252C (zh) | 2006-01-01 | 2006-04-22 | 一种cpu程序下载多个fpga文件的方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610032623 | 2006-01-01 | ||
CN200610032623.2 | 2006-01-01 | ||
CNB2006100772712A CN100454252C (zh) | 2006-01-01 | 2006-04-22 | 一种cpu程序下载多个fpga文件的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1991763A CN1991763A (zh) | 2007-07-04 |
CN100454252C true CN100454252C (zh) | 2009-01-21 |
Family
ID=38214036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100772712A Expired - Fee Related CN100454252C (zh) | 2006-01-01 | 2006-04-22 | 一种cpu程序下载多个fpga文件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100454252C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034642A (zh) * | 2011-09-30 | 2013-04-10 | 高德软件有限公司 | 数据文件生成方法、应用程序及数据下载系统及方法 |
CN104657175B (zh) * | 2015-02-06 | 2018-07-03 | 西安电子科技大学 | 利用配置芯片实现启动引导和数据的读写系统及方法 |
CN106250188B (zh) * | 2016-07-29 | 2019-08-23 | 捷开通讯(深圳)有限公司 | 一种系统固件映像文件的生成方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030088709A1 (en) * | 2001-11-06 | 2003-05-08 | Frank Lin | System and method of composing and decomposing a ROM image |
US20030120602A1 (en) * | 2000-01-12 | 2003-06-26 | June-Kee Jung | Method of combinning multimedia files |
CN1561483A (zh) * | 2001-09-28 | 2005-01-05 | 英特尔公司 | 最小单位地更新多个文件的方法 |
-
2006
- 2006-04-22 CN CNB2006100772712A patent/CN100454252C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030120602A1 (en) * | 2000-01-12 | 2003-06-26 | June-Kee Jung | Method of combinning multimedia files |
CN1561483A (zh) * | 2001-09-28 | 2005-01-05 | 英特尔公司 | 最小单位地更新多个文件的方法 |
US20030088709A1 (en) * | 2001-11-06 | 2003-05-08 | Frank Lin | System and method of composing and decomposing a ROM image |
Also Published As
Publication number | Publication date |
---|---|
CN1991763A (zh) | 2007-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101157171B1 (ko) | 스마트카드를 위한 저장 시스템 및 그 저장시스템에서 파일생성관리방법 | |
CN107111450B (zh) | 使用分区表进行的磁盘分区拼接和重新均衡 | |
US8868622B2 (en) | Method and apparatus for allocating resources in a computer system | |
US20140223446A1 (en) | Application Load and Type Adaptive Manycore Processor Architecture | |
CN102508784A (zh) | 视频监控设备中闪存卡的数据存储方法及其系统 | |
CN101777061B (zh) | 一种java卡对象管理方法及java卡 | |
CN107209716B (zh) | 内存管理装置和方法 | |
JP4758794B2 (ja) | メモリ領域割り当て制御装置、メモリ領域割り当て制御プログラム、及びメモリ領域割り当て制御方法 | |
CN105718319B (zh) | 一种内存池版图解析方法和内存池装置 | |
CN1664784A (zh) | 大规模并行计算机系统分组并行启动方法 | |
CN100454252C (zh) | 一种cpu程序下载多个fpga文件的方法 | |
US8972629B2 (en) | Low-contention update buffer queuing for large systems | |
US20060036663A1 (en) | Method and apparatus for effective data management of files | |
CN105630410B (zh) | 使用非易失随机读写存储芯片动态管理文件存储区的方法 | |
CN107111549A (zh) | 一种文件系统的管理方法及装置 | |
CN116561171B (zh) | 一种倾斜数据双时序分布处理方法、装置、设备及介质 | |
JP4703753B2 (ja) | 情報処理装置、半導体記憶装置、及びプログラム | |
US20030200232A1 (en) | Information processor and program | |
CN113905014B (zh) | 用于为终端设备分配id号的方法、服务器和存储介质 | |
FR2820526A1 (fr) | Procede de simulation de performances, et procede de realisation d'applications multiprocesseurs, et dispositifs permettant de mettre en oeuvre lesdits procedes | |
CN1690983A (zh) | 可循序写入数据至闪存中的系统及其方法 | |
CN116048377A (zh) | 固态硬盘的数据处理方法及相关设备 | |
CN1790340A (zh) | 文件分配表访问装置、芯片及访问方法 | |
CN117435352B (zh) | 一种定长变长数据混合管理的轻量化内存优化分配方法 | |
CN115495392B (zh) | 多级启动中内存复用方法、装置、存储介质和处理器 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090121 Termination date: 20150422 |
|
EXPY | Termination of patent right or utility model |