项目场景:
最近开发黑金的KCU040开发板,移植别的vivado工程到kcu040时,程序固化时出现问题。
问题描述
用vivado向KCU040烧录MCS文件时,没有显示报错,但是断电重启板子后,显示notprogramed。也无法从flash boot启动。似乎程序根本没有烧录进去。
原因分析:
工程之前的开发板的flash是256MB,因此xdc文件中有一句关于SPI_32BIT_ADDR 的约束,此约束是flash芯片大于256时,才需要添加的。而黑金的KCU040开发板的256mbflash是2片128M的合并的,因此不需要32位寻址。
解决方案:
删除xdc中的 set_property BITSTREAM.CONFIG.SPI_32BIT_ADDR YES [current_design]