【XILINX】Vivado 生成msc文件出现[Writecfgmem 68-4] Bitstream at address 0x00000000 has size 84989156 bytes

项目场景:

Vivado 生成msc文件出现

[Writecfgmem 68-4] Bitstream at address 0x00000000 has size 84989156 bytes which cannot fit in memory of size 8388608 bytes.


MCS和Bit文件

BIT-->JTAG-->FPGA;              --掉电易失
BIT-->mcs-->FLASH-->FPGA  --上电配置

1、mcs文件

        Xilinx FPGA固化FPGA程序到FLASH时,可以选择使用MCS或者BIN格式,BIN是纯二进制文件,MCS是ASCII格式的文本文件。
        MCS是Intel早期为MCS系列 II ISIS-II 系统 代码固化存储指定的文件格式,成为了普遍遵循的标准,Xilinx 的MCS文件也一样,格式大体如下,文件由行组成,每一行由6部分组成:

                Start code 起始码
                Byte count 字节长度
                Address 起始地址
                Record type 当前记录数据类型
                Data 数据
                Checksum 校验码
        从上面的组成可以看出,MCS每一行均有起始地址和数据长度信息,而FLASH内部一些无需更新的区域就可以在BIT转换为MCS文件时选择忽略,那么就不需要向FLASH写入,而BIN文件是二进制文件,无论信息是否冗余均需要刷新到FLASH,这实际上增大了BIN文件的大小,降低了写入数据的速度

2、bit与bin文件区别

        Bit文件相对多一个文件头。可以通过16进制打开的方式,将文件头去除,然后两个文件就会一致。

左边为bin文件,右边为bit文件

【XILINX】Vivado 生成msc文件出现[Writecfgmem 68-4] Bitstream at address 0x00000000 has size 84989156 bytes_第1张图片

参考:https://blog.csdn.net/qq_41305217/article/details/132601003


原因分析:

        MSC文件要固话到FLASH内,在生成msc的时候所选择的FLASH的容量小于MCS文件的大小了。


解决方案:

        调大MCS的flash大小。

【XILINX】Vivado 生成msc文件出现[Writecfgmem 68-4] Bitstream at address 0x00000000 has size 84989156 bytes_第2张图片

       如上图,圈起来的Custom memory size 设置为64MB,就完全解决我遇到的问题,我的MCS只有9M。 

你可能感兴趣的:(xilinx,fpga开发,mcs)