Vivado程序固化
将FPGA的配置文件(固化用的配置文件是二进制文件,仅bin文件)烧写到板载Flash中,实现上电自启动。
本教程分两部分,第一部分介绍硬件FPGA程序固化,第二部分介绍嵌入式软件程序的固化。
1、 硬件FPGA程序固化:
在生成比特流文件前,需要检查一下,项目设置中Bitstream选项是否勾选了bin_file!
在打开硬件管理器(Hardware Manager),并连接上板卡。
在hardware面板中右击FPGA器件(xc7a50t),选择Add Configuration Memery Device.
在弹出的添加配置存储器的界面中,找到板载的Flash存储器型号,点击OK,完成添加。
添加完成后,Vivado会提示添加完成,是否立即配置存储器。点击OK,进入配置存储器的界面,开始将二进制文件烧写到外部配置存储器中。
选择好烧写的二进制文件,其他设置可以保持默认。二进制文件路径为:project_name_path \project_name.runs\impl_1(project_name_path 和project_name根据用户工程进行修改)。点击OK,烧写二进制文件。
由于需要擦除存储器原有数据,校验,以及烧写等几步,所以配置时间可能会稍微久一点。完成后,点击OK。
这样FPGA硬件程序就固化到外部配置存储器中了,下次上电就可以通过QSPI自启动。需要注意的是板载的配置跳线帽需要设置到QSPI模式。
2、 SDK嵌入式软件程序固化
在嵌入式使用过程中,通常先对FPGA进行配置,然后再进行程序的调试。那程序确定后,如何固化到外部Flash中,实现在FPGA上电后,自动配置,软件程序自启动呢?
可以直接在SDK中利用XilinxTools->Program FPGA生成软硬件配置文件,即软件程序和硬件配置文件融合。再通过Xilinx Tools->Program Flash烧写到板载存储器中。这个需要SDK对板卡和器件的支持。
在SDK中点击Xilinx Tools->Program FPGA。
在Program FPGA界面中,SoftwareConfiguration下,microblaze软核程序默认设置的是bootloop。需要修改成软件工程生成的elf文件,该文件在project_name_path \project_name.sdk\software_project_name\Debug(Release)文件夹下(project_name_path ,project_name和software_project_name根据用户工程进行修改)。
然后点击Program,会生成软硬件配置文件,文件名为download.bit。该文件目录为project_name_path\project_name.sdk\block_design_name_wrapper_hw_platform_X(其中project_name_path ,project_name和block_design_name_wrapper_hw_platform_X视具体情况而定)。生成完download.bit文件成功,说明SDK支持本器件或者板卡,就进行固化了。
点击Xilinx Tools->Program Flash。
Image File选择之前生成好的download.bit文件,Flash Type选择板载的Flash存储器类型。点击Program,就开始烧写软硬件配置文件到Flash存储器中了。
这样就实现了软硬件程序的固化。上电后,FPGA可自动配置,并运行软件程序。