ECP5 MSPI模式配置Flash出错的解决方法
1赞今天在调试ECP5时,出现一个奇怪的现象,就是无法下载新的配置文件到Flash中了!!!期间,检查了一堆东西,板子的原理图看了好几遍,感觉都没有什么问题,然而,就是下载不进去!甚至连Scan都Scan不到Flash!!!
出错信息如下:
INFO - Check configuration setup: Start.
INFO - Check configuration setup: Successful (Ignored JTAG Connection Checking).
INFO - Device1 LFE5UM-85F: SPI-N25Q128A: SPI Flash Erase,Program,Verify
Initializing...
IDCode Checking...
ERROR - Verification Error...when Processing function: 'CHECK_ID'
ERROR - Operation: unsuccessful.
ERROR: pgr_program failed.
ERROR - Programming failed.
最后的解决方法如下:
在进行MSPI配置Flash之前,先使用JTAG将SRAM的内容擦除一遍,如下图所示:
然后再进行配置flash:
终于OK了!
Starting: "pgr_program run"
INFO - Check configuration setup: Start.
INFO - Check configuration setup: Successful (Ignored JTAG Connection Checking).
INFO - Device1 LFE5UM-85F: SPI-N25Q128A: SPI Flash Erase,Program,Verify
Initializing...
IDCode Checking...
Enabling...
Erasing...
Disabling...
Enabling...
Programming...
Disabling...
Verifying...
INFO - Execution time: 00 min : 23 sec
INFO - Elapsed time: 00 min : 23 sec
INFO - Operation: successful.
问题原因分析:
在ECP5/ECP5-5G sysCONFIG UG中的Software Selectable Options章节中,有以下两段话:
也就是说,如果用户想在User Mode(FPGA中的设计处于工作状态下)访问MSPI端口的话,必须保证MSPI Port是ENABLED的,如下图所示。否则,Background MSPI将无法使用,即本文开始描述的问题。