FPGA VIVADO 实现FLASH固化操作步骤

1.将所需要固化的程序综合,布线,生成比特流

2.生成MCS文件

2.1  按顺序选择Tools>>Generate Memory Configuration File 

 2.2 生成MCS

 2.3 对选择的spi总线进行约束

默认是spi x1,如果在上一步选择了其他的模式,可以直接在xdc文件中直接添加约束语句(举例spi x4如下:选择了其他spi总线只需更改第五句代码中的总线数。

#flash
set_property CFGBVS VCCO [current_design] 
set_property CONFIG_VOLTAGE 3.3 [current_design] 
set_property BITSTREAM.GENERAL.COMPRESS true [current_design] 
set_property BITSTREAM.CONFIG.CONFIGRATE 50 [current_design] 
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design] 
set_property BITSTREAM.CONFIG.SPI_FALL_EDGE Yes [current_design]
#flash

或者直接在vivado中选择

 

 

 根据具体情况自行选择

 选择spi总线和部分spi设置(不知道的就默认)然后点ok

 如果后面固化失败,可以回来重新跑综合,布线,bit流,因为你的约束改了,之前生成的没有这些约束。

3. 连接开发板

3.1 自动连接fpga开发板

 3.2 添加存储设备

 根据自己的flash型号选择,不要盲目跟从

 3.3 往存储设备中写入mcs文件,注意mcs文件要放在一个文件夹路径不包含中文和空格的文件夹中。

 3.4 固化完成

注意:mcs文件路径不能有中文,要不然会报错

4. 补充

根据网友留言,那么补充一下bin文件烧录与mcs文件烧录的区别。

首先,mcs文件是Intel早期为MCS系列II ISIS-II系统代码固化存储指定的文件格式,现在已经成为普遍遵循的标准。它是一种ASCII格式的文件,包含烧写FPGA的配置位流。mcs文件的特点是,在每行的末尾都有一个校验和,以确保数据的完整性。此外,它还包含每个地址应位于内存中的地址信息。

其次,bin文件是一种二进制文件,它以原始字节流的形式存储FPGA的配置信息。bin文件是FPGA开发工具生成的文件,用于存储FPGA的配置位流。bin文件包含FPGA设备的配置位信息和连接信息,用于定义FPGA在运行时的逻辑功能和连接方式。

mcs文件的优点在于其数据以ASCII格式表示,使得数据易于阅读和解析。此外,mcs文件包含地址信息,使得数据的加载更加灵活。

bin文件的优点在于其效率较高,因为它以二进制格式编码,不需要进行额外的转换或解析。此外,bin文件的生成和使用相对简单,减少了开发时间和错误的可能性。而且其无法包含地址信息,这使得数据的加载和使用变得较为复杂。此外,bin文件的大小也较大,可能会增加存储成本。

所以如果你的工程不考虑启动时间和flash足够大的存储,那么你也可以使用bin文件烧录到flash当中。

烧录操作的话就和上面步骤一样,把bin看作mcs就可以了,只是在生成bit流的时候,勾选上bin文件输出。如下图

版权声明:本文为博主作者:兵棒原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/bingbang0703/article/details/132205845

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2024年5月6日
下一篇 2024年5月6日

相关推荐