EBAZ4205矿渣板zynq无法加载固件

1.故障现象:

        板子上电后无法加载固件,FPGA config_done指示灯不亮,JTAG可以扫描到PL和PS。

2.故障排查

        在VIVADO 中创建工程,添加了AXI_GPIO,导出到SDK中,在SDK中创建一个FSBL,下载BIT流后,使用FSBL进行单步调试。在运行到DDR检测部分代码的时候返回了错误的返回值,说明是DDR故障导致的FSBL无法继续向下运行去初始化硬件配置、检测启动模式引脚和加载FLASH中的固件。

DDRInitCheck函数中就是对DDR空间的起始地址写入一个AA55AA55的数据,然后再读出来对比,如果相等,则认为DDR正常,否则返回故障。

所以故障原因应该找到了,就是DDR故障导致的。

EBAZ4205矿渣板zynq无法加载固件_第1张图片

EBAZ4205矿渣板zynq无法加载固件_第2张图片

3.故障排除

现在知道是DDR无法正确读写造成的FSBL无法向下执行,下一步就是找到DDR无法正常工作的原因,根据原理图排查DDR的供电、时钟、信号线上串联的匹配电阻、DDR的参考电压,排查到DDR的参考电压电路的时候发现有一个电阻(R2458)阻值不正常,标称1.2K的电阻,实测为2.4K,通电后测量发现这个电阻连接的DDR参考电压为0V,因此判断是该电阻损坏,更换之后,上电测量,参考电压恢复正常。然后固件可以加载并运行,然后运行测试程序,各项功能都恢复正常。

EBAZ4205矿渣板zynq无法加载固件_第3张图片

4.总结

在发生zynq芯片无法加载固件的时候,可以通过调试FSBL去找到引起无法加载故障的原因,然后再根据发现的线索,结合硬件原理图逐步深入的去找到问题的原因,才能从根本上去解决问题。

你可能感兴趣的:(EBAZ4205,fpga开发,嵌入式硬件)