What are .rbf files and how can i generate them from the Quartus output file .sof on windows ?
3 回答
使用 Quartus II GUI 转到 File => Convert Programming Files,然后可以选择 .rbf 作为输出文件,而 .sof 可以作为输入文件。
转换设置可以从 GUI 中保存,以便在命令行中使用,例如
> quartus_cpf -c convert_sof_to_rbf.cof
RBF是“原始二进制文件”。它代表原始数据,例如,将加载到闪存中以在上电时初始化 FPGA。
SOF是“ SRAM目标文件”。它包含直接初始化 FPGA 所需的数据。
尽管您可以从 Quartus ( ) 输出 RBF File -> Convert Programming Files...
,但我怀疑您的问题是您正在寻找一种将 SOF 直接转换为 RBF 的方法。这可以使用 Altera 的“NIOS II Command Shell”来完成,它可以从 Start 菜单的 Quartus 文件夹中运行。
请注意,尽管您需要安装 Quartus 才能执行此操作,但您不需要支付订阅费用,因为即使 Quartus 没有有效的许可证,NIOS II 命令外壳也可以工作。
这是一个两步的过程...
第一步
cd
到包含 SOF 的目录,然后键入:
sof2flash --offset=0 --input="./your_file.sof" --output="./your_file.flash"
这会将 SOF 文件转换为 FLASH 文件,这是所需 RBF 的 ASCII 表示。
第二步
现在输入:
nios2-elf-objcopy -I srec -O binary "./your_file.flash" "./your_file.rbf"
您现在将根据需要获得您的 RBF 文件。
另一个免费的替代 GUI:
要在 Windows 的命令行中使用,您必须首先启动 Altera 嵌入式命令外壳(顺便说一句,在 linux 系统上的想法相同)。在我的电脑上,要启动的文件是:
# on Windows
C:\intelFPGA\17.1\embedded\Embedded_Command_Shell.bat
# on Linux
/opt/altera/17.1/embedded/Embedded_Command_Shell.sh
然后就可以使用 Quartus 命令行程序了。
将sof直接转换为rbf:
quartus_cpf -c my_input_file.sof my_output_file.rbf
您还可以添加选项来压缩比特流,例如:
quartus_cpf -c -o bitstream_compression=on my_input_file.sof my_output_file.rbf