代码编织梦想

使用vitis 2020.2的Program Flash的时候,Console会显示下面的异常。串口调试口也会打印FSBL的DATA ABORT之类的异常。主要原因就是如果设置启动模式不是JTAG的情况下,FSBL会异常。所以需要修改FSBL的代码固定位JTAG启动。
在这里插入图片描述
主要解决方法:
Problem 1: Default FSBL stops working with error stage,because it didn’t find bootable image on flash.
Solution: used special FSBL where boot mode is set fix to JTAG, see Xilinx AR#70548
Case 2: flash contains bootable design
Problem 1: Vivado starts design from QSPI Flash before selected FSBL will be programmed. This seems to prevent Vivado from starting the selected FSBL correctly, which leads to inconsistencies and terminates the programming
Solution 1: use the same FSBL which was used on the design which was programmed
Solution 2: change boot mode some other a mode which does not boot any design and use special FSBL。
Possible Problem 2: running OS zynq can prevent vivado to get access to QSPI
Solution 1: Stop booting for example on uboot console and try again
Solution 2: change boot mode some other a mode which does not boot any design

wiki的解答:
https://wiki.trenz-electronic.de/pages/viewpage.action?pageId=105689937

AR#00002 - QSPI Programming issues

Issue 1: Programming with Vivado /SDK tools failed in case the boot mode is QSPI
Affected Series:
all Zynq Modules, especially 7 Series Zynq
Possible cases and solutions:
Vivado 2017.2 and older
Case1: flash is empty
no issue
Case 2: flash contains bootable design:
Possible Problem 1: running OS on zynq can prevent vivado to get access to QSPI
Solution 1: Stop booting for example on uboot console and try again
Solution 2: change boot mode some other a mode which does not boot any design
Vivado 2017.3 up to 2018.3
Programming procedure has changed (AR#70146), user must add additional FSBL now which initialise PS before Xilinx micro Uboot starts

Case 1: flash is empty
Problem 1: Default FSBL stops working with error stage,because it didn’t find bootable image on flash.
Solution 1: used special FSBL where boot mode is set fix to JTAG, see Xilinx AR#70548
Case 2: flash contains bootable design
mostly no issue, default FSBL or special FSBL can be used to program flash
Possible Problem 1: running OS zynq can prevent vivado to get access to QSPI
Solution 1: Stop booting for example on uboot console and try again
Solution 2: change boot mode some other mode which
Vivado 2019.x or newer (last tested version 2020.1)
Same programming procedure like 2017.3 up to 2019.3, but Vivado access to Zynqs seems to be changed.

Case 1: flash is empty
Problem 1: Default FSBL stops working with error stage,because it didn’t find bootable image on flash.
Solution: used special FSBL where boot mode is set fix to JTAG, see Xilinx AR#70548
Case 2: flash contains bootable design
Problem 1: Vivado starts design from QSPI Flash before selected FSBL will be programmed. This seems to prevent Vivado from starting the selected FSBL correctly, which leads to inconsistencies and terminates the programming
Solution 1: use the same FSBL which was used on the design which was programmed
Solution 2: change boot mode some other a mode which does not boot any design and use special FSBL
Possible Problem 2: running OS zynq can prevent vivado to get access to QSPI
Solution 1: Stop booting for example on uboot console and try again
Solution 2: change boot mode some other a mode which does not boot any design

Issue 2: Programming with third party tools or own software (barmetal, uboot) failed, in case PS is configured for x4 mode

Affected Series:
all Zynq Modules, especially 7 Series Zynq
Possible cases and solutions:
Problem 1: QE Bit of the QSPI Flash is not set and X4 access failed.
Solution: Write QSPI Flash one time with Xilinx Tools(Vivado or SDK), this will set QE Bit correctly. → This only needs to be done once in case of a problem
Issue 3: Using more than 16MB flash on 7 Series Zynq
Affected Series:
all 7 Series Zynq with more than 16MByte QSPI Flash

Issue 3: Using more than 16MB flash on 7 Series Zynq
Affected Series:
all 7 Series Zynq with more than 16MByte QSPI Flash
在这里插入图片描述
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zwjzwj108108/article/details/121198893

problem in initializing hardware flash programming initialization failed flash operation failed_nature_forest的博客-爱代码爱编程

先说解决方法:开始报错Problem in Initializing Hardware Flash programming initialization failed. ERROR: Flash Operation Failed。是因为我在Program flash中选择的其他elf文件,应该选择FsBl对应的ZED_FSBL.elf文件。后来报这个错:F

vivado2017固化bug及解决办法(附详细固化步骤)_再见遇见的博客-爱代码爱编程

Z7固化流程及注意事项 1.首先建立FPGA工程,并产生BITSTREAM文件。 2.导出到SDK,建立相应的SDK文件。 3.新建FSBL文件,采用SDK给的FSBL模板。(可以加调试信息,也可以不用加调试信息。调试信息

sdk烧写flash过程中的问题总结-爱代码爱编程

问题:        利用SDK来烧写FLASH时,出现FPGA仿真器识别出两个设备的情况,烧写失败。 解决方案:        这是一个已知问题,在2016.4版SDK和所有后续版本中都会出现这个问题,直到2017.4.1发布。SDK flash programmer 将崩溃并显示与“rdi_zynq_flash.exe”相关的错误消息。这是某

zynq烧写QSPI FLASH经验-爱代码爱编程

最近工程需要远程进行代码的更新,查阅了一些资料,找到了multiBoot来实现。 zynq启动顺序依次是BootROM、fsbl、应用层。 根据boot的帧头查找过程, 正常的flash下载过程如下图: 需要下载的程序,每包分成了0x20000(128k)byte,下载到flash中。从地址0开始擦除,4325376 bytes擦除完成。 修改偏移量如

vivado2020.1使用vitis生成QSPI启动文件报错-爱代码爱编程

在使用vivado2020.1使用vitis,生成QSPI启动文件时会报错,data2mem命令无法识别,这是因为data2mem是xilinx7series芯片的命令,当使用ultrascale/ultrascale+芯片时则需要使用updatemem命令,这或许是vitis的一个bug吧,明明选择的是ultrascale的芯片,却一直调用打她mem命令

vitis使用教程-爱代码爱编程

学习记录 在学习ZYNQ嵌入式开发的过程中,正点原子的教程是采用SDK,而我下载的vivado2020.1已经变成了vitis,所以写一这篇博客,方便后续查阅。 文章目录 学习记录找到vitis安装vitis创建platform工程创建application工程找例程编写源码下载程序参考文献 找到vitis vivado->tools-

【教程】Xilinx Vivado/Vitis 2020.1创建最简单的MicroBlaze工程运行Hello World C语言程序(不使用外部DDR3内存),并固化到SPI Flash-爱代码爱编程

本教程以米联客XC7A35T FGG484-2开发板为例,详细讲解一下用Xilinx Vivado 2020.1创建MicroBlaze软核工程,然后再用Xilinx Vitis 2020.1建立Hello World C程序工程的完整操作步骤。最后程序运行起来后,还要在Vitis里面将程序固化到SPI Flash中,断电再开机后也能启动运行。 (关于带

ZYNQ7000程序编译成功但烧写报错(使用Vitis2020.2)-爱代码爱编程

一. DDR设置问题。 1.1 使能了DDR但没正确设置型号 烧写报错如下: Error while launching program: Memory write error at 0x100000 Memory write aborted. Fault status 0x8, Domain 0x0 经排查: 发现是在创建ZYNQ7 PS时

使用Vitis固化程序-爱代码爱编程

步骤一: 创建Vitis工程的时候,记得勾选Generate boot components,这样可以生成FSBL文件。 步骤二: 编译好工程。右键你的app工程,点击creat boot image: 一般来说上图界面保持默认就好,注意图中最下面boot image partitions中的3个文件的顺序一定不能错。 如果你只是用PS,PL

在Xilinx Vivado and Vitis上建立闪存启动映像(flash boot image) 以 ZCU102 为例-爱代码爱编程

目录 设置Setup 添加启动分区Add boot partitions 烧录Program boot image on ZCU102 board 启动Start FPGA from flash image 参考资料Reference 在创建Xilinx FPGA zcu102闪存启动映像后整理的资料,为无OS设计, 在此分享 测试环境 :

安装Xilinx Vitis的一些坑-爱代码爱编程

安装Xilinx Vitis的一些坑 下载安装vitis 2020.2 从官网能够很轻松的下载到vitis的安装包,可以下载Installer进行自动下载安装,也可以下载整个文件的压缩包,通过其中的setup进行安装。 我在一开始是打算使用Installer安装器进行安装的,毕竟这个比较方便快捷。 Installer下好后,启动之后开始vitis的

vitis软核固化代码流程-爱代码爱编程

在搭建完Block Design以及硬件代码后,生成bit; bit文件生成成功后,点击Export Hardware,导出xsa文件:(xsa做连接使用) 勾选 include bitstream 有了xsa文件,就可以启动Vitis 了。 选择工作目录 选择使用xsa后,选择XSA路径即可。完成后bulid project!!! 再建立一个APP

【xilinx SDK教程】第1篇:超级实用的xilinx SDK使用、编程、安装教程-爱代码爱编程

1 前言 1、声明 本文依据个人试验及工作经验整理而成,如有错误请留言。 文章为个人辛苦整理,付费内容,禁止私自转载。 文章专栏:《黑猫的FPGA知识合集》 2、文章背景 作者学习xilinx SDK的时候,发现该软件使用起来挺难的,遇到各种各样的问题及bug,网上搜到的教程或者解决方法都是零零散散的,有时候遇到问题就要卡半天,特别浪费时间。 所以个

详细教程:vivado2019.2 & vitis2019.2下,zynq7000系列FPGA固化PL程序到外挂flash和SD卡-爱代码爱编程

详细教程:vivado2019.2 & vitis2019.2下,zynq7000系列FPGA固化PL程序到外挂flash和SD卡 实际上经过多次下载发现,vitis下的固化已经很大程度上帮我们自动配置好相应的文件了,不需要自己进文件路径下寻找。 0.简介 xilinx的zynq系列FPGA既包含了传统的FPGA部分,又嵌入了arm的硬核,分