Vivado里程序固化详细教程
编者注:初玩FPGA开发板,我们都会遇到这种情况,每次事先写好的程序编译成功后,下载到板子里,输出结果十分赏心悦目,随着掉电之后,程序也就随之消失,再次上电,又要重新编译下载程序,十分麻烦,不是我们想看到的结果。所以学会固化程序十分重要!下面就来说说如何固化程序。
目的简介:将FPGA的配置文件(固化用的配置文件是二进制文件,仅bin文件)烧写到板载Flash中,实现上电自启动,完成程序固化。
法1:烧录bin文件
过程步骤:
1)在Vivado软件里找到Settings设置选项,进入,点击Bitstream选项,将 bin_file 勾上,点击 OK
2)点击 generate bitstream (可以分步进行,Run Synthesis—Run implementation— genereate bitstream),生成 bit 文件和 bin 文件。
3)点击 open hardware manager,连接板子
4)在Hardware面板中右击FPGA器件(xc7a35t_0),选择Add Configuration Memery Device。
5)在弹出的添加配置存储器的界面中,找到板载的Flash存储器型号,点击OK,完成添加。这里开发板flash型号是( n25q64 )选择3.3v。
6)添加完成后,Vivado会提示添加完成,是否立即配置存储器。点击OK,进入配置存储器的界面,开始将二进制bin文件烧写到外部配置flash存储器中。
提醒:如果配置存储器的界面突然找不到,可以右击flash存储器,点击Program Configuration Memory Device,会出现存储器的配置界面。
7)找到二进制bin文件,选中,进行代码烧写, 实现上电自启动,完成程序固化。
选择好烧写的二进制文件,选中后点击 OK,将代码烧录到 flash,。其他设置可以保持默认
提醒:二进制文件路径为:project_name\project_name.runs\impl_1\xxx.bin。
或project_name \project_name.runs\impl_2\xxx.bin。
(project_name根据用户工程进行修改)。点击OK,烧写二进制文件。
由于需要擦除存储器原有数据,校验,以及烧写等几步,所以配置时间可能会稍微久一点。完成后,点击OK。
这样FPGA硬件程序就固化到外部配置存储器中了,下次上电就可以通过QSPI自启动。需要注意的是板载的配置跳线帽需要设置到QSPI模式。
法二烧mcs文件
第一步:先综合,然后打开综合设计
第二步:点击Tools—Edit Device Properties(注意,必须按照第一步打开综合后的设计,才能找到这个选项),然后配置相应参数。
可以选择压缩bit流,这样后面固化时会快一些。
选择合适的固化速率,可以适当设置高一些(默认是3MHZ),因为固化本身比较慢;设置SPI 的bus width,因为flash使用的是QSPI,也即SPI4x(后面还会设置此参数),所以这里要设置为4
选择编程模式,因为我们是将程序固化到flash中,以后上电自动从flash读取程序,所以这里要勾选上。JTAG是一直且默认勾选的。
点击OK进行下一步。
第三步:生成bit流
第四步:生成.mcs内存配置文件
点击OK,即可在指定的路径下生成所需的.mcs文件
第五步:打开硬件管理器,连接开发板。
第六步:往flash下载.mcs文件
点击OK,然后出现下面的界面,等待下载完成即可。
第七步:断电重启
注意: 一定要注意将自己开发板上设置编程模式的跳线帽跳到QSPI模式。还有就是固化完成后,不会立即运行程序,需要断电重启,此时开发板会自动从flash读取程序并运行。这样以后每次上电都会自动加载并运行这段程序,除非再次固化别的程序!!!
评论 (0)