xilinx zynq7015 Flash 编程失败 programming failed

今天遇到一个问题:在烧zynq7015的flash时,使用vivado2016.4一直没有问题,但是使用2018.3烧写时,必须要添加fsbl文件,所以就将制作Boot.bin文件的fsbl文件添加进去了,但是烧写是出现如下错误:

WARNING: [Xicom 50-100] The current boot mode is QSPI32.
If flash programming fails, configure device for JTAG boot mode and try again.
Flash programming initialization failed.

之前烧写从来没有遇到过,后来查阅资料找到了解决方法,具体的链接如下:https://forums.xilinx.com/t5/ACAP-and-SoC-Boot-and/Vivado-2018-2-gt-unable-to-reprogram-QSPI-via-JTAG-in-QSPI32/td-p/889197。在该链接中提到了三种解决方法:

  1. Use older Vivado Version (only temporary a workaround and not a good solution for the future)

  2. Change TE0782 CPLD firmware to JTAG (but this is only a fallback for this module and not good to handle for flash programming only)

  3. Modify a second FSBL for Vivado/SDK GUI only (I would recommend this way, because it’s very easy)

So for option 3 with second FSBL do following:

Use Boot.bin with “normal” FSBL and create a second modified FSBL for the Vivado/SDK GUI only. On the second FSBL, you must only overwrite boot mode pin readback on main.c with JTAG Mode, see:

 /*
    * Read bootmode register
    */
   BootModeRegister = Xil_In32(BOOT_MODE_REG);
   BootModeRegister &= BOOT_MODES_MASK;

  /* Add this modification: */
   BootModeRegister = JTAG_MODE;

注意的是:第三种方式需要修改两处,只修改一处可能还会包错。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除
匿名用户

匿名