问题描述
症状::当我从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。
解决方法
自动解决 。我不知道为什么,我移动了一些电缆,打开和关闭了开关。也许是硬件问题。
如果您有更好的答案,请离开这里。