FPGA学习(第2节)-FPGA下载程序到flash+文件转换-通过.sof文件产生.jic文件

编译完成后,Quartus 会在 output file 文件夹内生成一个 xxx.sof。下载 SOF 文件到 FPGA 后,开发板重新上电后配置程序已经丢失,还需要 JTAG 重新下载。

现在来介绍如何把 FPGA 程序下载到开发板上的 FLASH 中,这样不用担心掉电后程序丢失了。

在我们的开发板上有一个 16Pin 的 64Mbit 的 SPI FLASH M25P64, 用于存储 FPGA 的配置程序。我们不能直接把 SOF 文件下载到这个 FLASH 中,需要先把 SOF 文件转换成 JIC文件。

(1)下面是 SOF 文件转换成 JIC 文件的具体步骤:

1. 在 Quartus 中选择菜单 File→Convert Programming File...FPGA学习(第2节)-FPGA下载程序到flash+文件转换-通过.sof文件产生.jic文件_第1张图片

2. 在 Convert Programming File 界面里选择输出的文件类型为.jic; Configuration device为 EPCS64, 这个型号跟我们开发板上的 M25P64 是兼容的 ; File name 栏输入 JIC 文件的存放地址和文件名,这里我们输入 led_test.jic,保存在 output_files 目录下。

FPGA学习(第2节)-FPGA下载程序到flash+文件转换-通过.sof文件产生.jic文件_第2张图片

3. 选中 Input files to convert 框里的 Flash Loader, 点击右边的“Add Device...”按钮


在 Select Devices 对话框中选中 EP4CE15,再点击 OK 完成。

FPGA学习(第2节)-FPGA下载程序到flash+文件转换-通过.sof文件产生.jic文件_第3张图片

4. 再选中 Input files to convert 框里的 SOF Data, 点击右边的 “Add File...” 按钮添加 SOF文件。

FPGA学习(第2节)-FPGA下载程序到flash+文件转换-通过.sof文件产生.jic文件_第4张图片

选择 output_files 目录下的 led_test.sof 文件,并打开

5.点击“Generate”按钮生成 JIC 文件

FPGA学习(第2节)-FPGA下载程序到flash+文件转换-通过.sof文件产生.jic文件_第5张图片

出现 Success 对话框,jic 文件生成成功。

FPGA学习(第2节)-FPGA下载程序到flash+文件转换-通过.sof文件产生.jic文件_第6张图片

(2)FLASH 下载

生成了 JIC 文件后,我们就可以通过 JTAG 把 JIC 文件下载到开发板的 FLASH 中了。
1. 双击 Quartus 界面里的 Program Device 打开 Programmer 界面。

FPGA学习(第2节)-FPGA下载程序到flash+文件转换-通过.sof文件产生.jic文件_第7张图片

2. 点击"Add File..."按钮添加编程文件。

FPGA学习(第2节)-FPGA下载程序到flash+文件转换-通过.sof文件产生.jic文件_第8张图片

选择刚才生成的 led_test.jic 文件并打开。

3. 选中 Program/Configure 列中的选择框。

FPGA学习(第2节)-FPGA下载程序到flash+文件转换-通过.sof文件产生.jic文件_第9张图片

4. 点击"Start"按钮开始对 Flash 进行编程。

FPGA学习(第2节)-FPGA下载程序到flash+文件转换-通过.sof文件产生.jic文件_第10张图片

等待 Progress 状态为 100%(Successful), Flash 烧写成功。

FPGA学习(第2节)-FPGA下载程序到flash+文件转换-通过.sof文件产生.jic文件_第11张图片

至此,SPI FLASH 烧写完毕,led_test 程序已经固化到 SPI FLASH 中了。来验证一下,关电重新启动开发板后,可以看到开发板上的 LED 灯已经在做跑马运动了。


你可能感兴趣的:(FPGA)