当工程比较小的时候可以把工程运行在内部bram上,固化到flash中。同时注意,printf会占用很多空间,换成xil_printf或print能减小
Vivado/SDK 2018.3版本的bug,Vivado/SDK 2018.3版本生成的.mmi文件,BitLanes的顺序为:0、1、2、…、30、31,而正确的mmi文件的BitLanes的顺序应该为 7、6、 …、 2、1、0、15、14、 …、9、8、23、22、 …、17、16、31、30、…、25、24。
在xilinx官网下载AR# 71948这个补丁,覆盖在Vivado 2018.3的安装路径下,就可以解决
在Vivado分配地址时请确保Microblaze的Bram地址是0x00000000起始。
添加如下约束,可以加快启动速度,我的flash芯片电压为1.8v。
set_property CONFIG_VOLTAGE 1.8 [current_design]
set_property CFGBVS GND [current_design]
set_property CONFIG_MODE SPIx4 [current_design]
set_property BITSTREAM.GENERAL.COMPRESS true [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 31.9 [current_design]
set_property BITSTREAM.CONFIG.SPI_32BIT_ADDR YES [current_design]
set_property BITSTREAM.CONFIG.SPI_FALL_EDGE YES [current_design]
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]
确保工程是在软核内部bram上面跑的
打开lscript.ld如下即成功
生成bit文件
烧录bit文件
重启即可