赞
踩
环境
硬件: KC705 开发板
软件: vivado 2017.4
问题现象
最近在研究xilinx MultiBoot功能和 ICAP功能,就用手头的KC705开发板做验证。出现下面的现象:
1)下载bit文件,FPGA正常工作
2)下载mcs文件到外部flash,然后重新上电,出现偶尔加载不成功的现象,但是多上电几次又好了,所以起初没太在意这个问题,最后出版本了,发现这个问题需要关注了。对比了config_status
正常加载的 config_status
加载失败的config_status
发现加载失败时,config_status并未显示任何错误,指示加载卡在了phase 0, 分析不出来什么原因。
3)因为当前工程是测试ICAP的实现,所以也怀疑是不是ICAP影响了加载, 于是做了个最简单的工程,上电点亮一个LED灯,生成mcs文件,下载进flash, 然后重新上电,发现还是有这个现象。
4)一个偶然情况,将板卡给同事用了会,然后拿回来,我就直接给板卡上电,发现正常加载flash版本运行,于是就多试了几次,发现连续几十次都能正常加载,此时JTAG cable未连接电脑, 于是将JTAG cable连上电脑试了下,又出现FPGA 无法从flash启动的情况, 于是又拔掉JTAG试了下,反复操作多次,发现只要连上JTAG就会出现FPGA无法加载flash版本的现象。
问题解决
根据上面的现象,怀疑JTAG影响了FPGA从外部flash加载流程,于是在网上搜索相关案例,还真找到了
https://forums.xilinx.com/t5/Vivado/在JTAG下载器连接时FPGA不加载flash里的程序/td-p/991746
xilinx官方也给出了解答 AR# 66954
https://www.xilinx.com/support/answers/66954.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。