Vivado调试提示Program错误及解决办法
一、错误描述
今日在下载程序到Xilinx芯片的过程中,下载程序一直出错,下载到99%然后弹出错误提示。
错误提示共有两种,第一个如下:
WARNING: [Labtools 27-3361] The debug hub core was not detected.
Resolution:
- Make sure the clock connected to the debug hub (dbg_hub) core is a free running clock and is active.
- Make sure the BSCAN_SWITCH_USER_MASK device property in Vivado Hardware Manager reflects the user scan chain setting in the design and refresh the device. To determine the user scan chain setting in the design, open the implemented design and use ‘get_property C_USER_SCAN_CHAIN [get_debug_cores dbg_hub]’.
第二种如图:
“program_hw_devices” failed due to earlier errors
二、解决办法
网上对于下载出错的解决办法通常如下:
- 首先排查焊接问题。
- 降低JTAG下载速率。
- 重启Vivado/ISE。
- 还有可能芯片部分损毁,换一块片子试试。
我遇到的解决办法并不属于如上几种。因为我的板子没有配接专用的充电电源的原因,连接的直流稳压电源,就是这个原因造成的下载程序出错。
直流电源输出应为5V,实际考虑线路传输压降,板子接收电压小于5V。为了使板子这头等于5V,电源输出部分会大于5V。就是这个电压的变动,使得下载出现错误。
当电压大于5V很多时,直接检测不到芯片,当电压约7V时,能检测到芯片,出现如上述第二种报错,ERROR,当电压约6.5V时,出现警告,写入ila核,但是检测不到。最终我将电压调低到5.8V,板子一切正常,可以正常写入程序。
这种错误通常由于板子电路和测试点导致的,总之错误问题大概率是硬件问题导致的,小部分原因软件崩溃导致。