使用Vitis进行Zynq的TCP开发通信,建立Platform工程后,需要修改BSP设置,加入Lwip支持才能使用Lwip的函数,但在修改后,平台平台工程提示out-of-date,依然无法添加Lwip的函数。
我想是因为修改了还没build,但重新build了很多次,每次都提升“Build Finish”,依然是Out-of-date。
排查了很久,发现原因在于,build过程出错,由于console中没有明显的提示,只会显示“Build Finish”,因此要到“problems”的tag中查看,当error出现这个tag会变红,必须处理完才能继续build。
error怎么处理见仁见智了,上图ERROR的原因在于PMU是不支持Lwip的,而我勾选了PMU的LWIP BSP。取消勾选就可以。
更改BSP设置造成error的原因可能还包括BSP直接的依赖关系没满足,这个可以通过查看XSCT console的提示查看。
根据提示修改完,重新编译,problems tag没变红,out-of-date提升消失,成功添加TCP Perf的应用工程。
参考: Xilinx官方论坛
https://forums.xilinx.com/t5/Embedded-Development-Tools/Vitis-Force-and-update-of-xparameters-h-after-Vivado-HW-updates/td-p/1057537
https://forums.xilinx.com/t5/Vitis-Acceleration-SDAccel-SDSoC/Platform-Out-of-date/td-p/1098199
另一种可能的原因是硬件平台更新了,比如你添加的EMIO之类的,这时候需要先右键平台工程,更新硬件描述文件(.XSA文件),然后从新build project即可。