Xilinx eprom刷新失败并出现各种错误

问题描述

症状::当我从IDE中选择“程序闪存”菜单时,它开始工作,但在随机点上失败。有时它会成功擦除闪存,有时会更早失败(请参见下面的日志)。

历史记录::它已经工作了几个星期。当我上传程序时,它正在运行,将内容打印到UART端口。然后,美好的一天,闪烁停止了。我已经尝试过了,但是它显示了各种错误。第二天,它又恢复了正常工作(没有任何修复),但仅持续了2-3天,然后永远停止了工作。

诊断:在Vivado中,我可以看到该设备,它看起来很健康。我检查了.bat脚本,它们设置了环境,最后调用rdi_zynq_flash.exe,该脚本负责整个刷新过程(使用本地主机上的服务器)。从这一点来看,我没有机会知道引擎盖下到底发生了什么。我当时在玩XSCT工具,但不知道应该检查什么。

配置:

  • 董事会:Xilinx Zynq 7000,ZC702
  • IDE:Windows 10上的Vivaldo 2020.1
  • 程序类型:独立(非Linux),仅ARM代码,不使用FPGA
  • 编程模式:QSPI(开关4处于打开状态,其他开关处于关闭状态)

错误是:

  • 无法识别的JEDEC id字节:10、01、00
  • 无法识别的JEDEC id字节:68、03、00
  • 无法读取启动模式寄存器
  • 错误:闪存操作失败
  • zynq_qspi_irq_poll:超时

有关更多详细信息,请参见full logs

解决方法

自动解决 。我不知道为什么,我移动了一些电缆,打开和关闭了开关。也许是硬件问题。

如果您有更好的答案,请离开这里。