suxilong 发表于 2013-4-10 15:43:57

偏僻问题求解

请问有没有人研究过 ALTERA 编程文件的格式啊??

比如有rbfsofPOF等等,

我尝试过把rbf 打开 ,见到一堆 十六制 的数,请问哪里又文档说明这些数据代表的信息 ,比如文件大小什么的?

suxilong 发表于 2013-4-12 12:06:18

今天上ALTERA官网 看到这么一条信息。说RBF文件的内容全部都是配置信息,没有多余的其他信息!

Solution ID: rd01212004_4844
Last Modified: Sep 11, 2012
Product Category: Devices
Product Area: Configuration (FPGA)
Product Sub-area: Other (Configuration)
Device Family: N/A
Title

Is there extraneous information in the .RBF file that can be deleted or altered?

Description
No. The .rbf is a raw binary file containing the configuration data. The RBF does not contain byte separators (e.g. commas or carriage returns); it is literally a raw binary file that contains a binary bitstream of configuration data and, as such, none of the data should be altered.


我在想如果这样的话,那是不是意味着用RBF作为配置文件,那是不是RBF里面的东西都要load 到FLASH(这里指EPCS系列的)上呢?

可我尝试把FLASh里面的东西读出来 全部, 对比了一下RBF, 前面是有一段是可以匹配,但是到了后面一段就对不上了, 我不是指字节高低位对调。

所以关于RBF文件load FPGA应该不只那么简单的高低位对调,!!!!

请问哪位高人指点一下啊啊!


我的想法,

FPGA将 新的编译好的 程序代码 RBF 格式,自己烧录到 FLASH去,然后断电上电,实现程序自动更新。

可是想法简单,实现起来没那么简单!!

dellric 发表于 2013-4-14 17:37:40

RBF文件是直接可以通过编程器下载到EPCS中或通过PS接口用单片机把这个文件内容直接下载到FPGA中
SOF文件是可通过JTAG配置到FPGA中的FPGA内部SRAM控制逻辑文件,POF是编程文件,这个文件比较复杂,一般用来固化最终文件用。
另外还有TTF文件,这个文件常常被有些朋友当成字体文件,其实这个文件是RBF的ASCII文件
还有JAM文件,用来测试和仿真等

如果你想把RBF文件烧到FLASH中去,思路是绝对没有问题的,不过FLASH要使用编程器来烧写,你也可以自己用AVR单片机搞一个,这在批量生产的时候非常实用的。

suxilong 发表于 2013-4-15 11:10:34

dellric 发表于 2013-4-14 17:37 static/image/common/back.gif
RBF文件是直接可以通过编程器下载到EPCS中或通过PS接口用单片机把这个文件内容直接下载到FPGA中
SOF文件是 ...

谢谢你的回复!
首先,我还是重申一下我的想法:
我自己设计了一个读写EPCS4的程序, 经过测试,是可以实现读写的。
然后我想把RBF 数据传给FPGA,接着让FPGA 将这些数据 自己烧录到EPCS4中, 通过断电重新上电,实现程序自动更新。

思路感觉是可以!但自从我做了个测试后,现在更让我困惑了!

测试方法结果如下:
      通过正常路径,程序下载OK后,我将EPCS4里面的数据全部读出来 和RBF的数据进行了对比,(验证数据的烧录是否只是 简单的高低位调换)
结果发现部分数据不匹配,除了高低位对调,有些地址的数据根本就是不一样!


疑惑:

1 Rbf里面的数据 是否需要全部 下载到flash 中?
2 rbf 里面的数据烧录的过程 是否只是简单的高低位调换? 如果是,为什么EPCS4读出来的数据和 RBF文件的数据 会有差异呢?(不是指高低位调换)

dellric 发表于 2013-4-16 09:34:27

suxilong 发表于 2013-4-15 11:10 static/image/common/back.gif
谢谢你的回复!
首先,我还是重申一下我的想法:
我自己设计了一个读写EPCS4的程序, 经过测试,是可以实 ...

这里重点需要看一下ALTERA 关于器件配置的那节文档资料,重点看AS模式,其实有个简单办法,就是先通过JTAG接口把数据写到FLASH中,然后从FLASH中读取二进制数据,此后可以和RBF文件对比。我以前做的是从51/AVR单片机中来配置FPGA,其中自己写了一个游程压缩软件把用到的RBF的文件压缩后写到单片机中,单片机启动后将压缩的文件解压然后通过PS模式写到FPGA中完成配置。要从EPCS中配置FPGA,必须要注意MS0,MS1的管脚电平是否OK,是否支持AS模式,不清楚的话看ALTERA的文档资料。再一个就是EPCS的写入和读出时序以及命令都和SPI的FLASH兼容。特别上面这句话很是值钱的哦,ALTERA的代理商打死都不承认,只有我们工程师自己知道,哈哈哈。

suxilong 发表于 2013-4-16 10:04:12

dellric 发表于 2013-4-16 09:34 static/image/common/back.gif
这里重点需要看一下ALTERA 关于器件配置的那节文档资料,重点看AS模式,其实有个简单办法,就是先通过JTA ...

终于明白了!

其实AS 下应该用RPD 文件, 我对比了一下,发现是匹配的!

但为什么RBF 与RPD 文件不同,目前还没有找出原因!

按自己想法,这些都是最基本在二进制配置文件,应该 是相同在才对, 不知到底为何不同!!!

AS 与PS无非是FPGA 读FLASH 自己进行配置, 你读FLASH 对FPGA 配置, 为何数据就相差这么大~~~~
页: [1]
查看完整版本: 偏僻问题求解