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

一. DDR设置问题。

1.1 使能了DDR但没正确设置型号

烧写报错如下:

Error while launching program: Memory write error at 0x100000 Memory write aborted. Fault status 0x8, Domain 0x0

image-20210301223148691

经排查:

发现是在创建ZYNQ7 PS时,在DDR配置界面使能了DDR,但没有正确设置DDR型号。如下图所示。

当时没设置型号是因为没有用到DDR,以为没用就可以随便哪个型号.但后来在烧写程序时报错。

推测原因是,烧写程序时会连同DDR的配置信息一起烧写进去,DDR配置不对时,这一步就会报错。

image-20210301223541307

收获即使DDR没使用,只要Enable了DDR就必须正确的设置型号以及一些其它参数

1.2 ZYNQ外围有DDR, 但在IP核中没有使能DDR

Error while launching program: Memory write error at 0x100000. Cannot access DDR: the controller is held in reset

image-20210302090112680

经排查:

image-20210302090503141

收获: 只要硬件电路板上使用了DDR,PS的IP核中必须使能DDR并正确配置

二. 烧写设置出错

此问题总结于本人在Xilinx官方中文论坛的发帖:Error while launching program: Cannot halt processor core, timeout

烧写报错如下:

Error while launching program: Cannot halt processor core, timeout

errorpng#pic_center

在用Vitis烧写程序的时候不定时会出现这个Error,有时能正常烧进去,有时报这个错误,基本2~3次烧写出现一次,不理解为什么?不论是直接单击快捷图标run,还是进入Run Configuration再点击run,这个error都会不定时出现。

经排查:

发现之前每次烧写都是勾选了Reset entire system,这个选项要进行的操作是:Reset entire system,Clear the FPGA fabric(PL),但我的ZYNQ工程中没有使用PL,所以这Clear the FPGA fabric(PL)(翻译成擦除FPGA布局?)应该是无用的。

勾选Reset entire systempng#pic_center

我尝试不勾选reset entire system,发现要执行的操作还是5个,如下图。原本的Reset entire system,Clear the FPGA fabric(PL)变成了

The following processors will be reset and suspended.
1)ps7 cortexa9_0

PS 9.0核将被复位和暂停,对比之前的reset,只是没有了Clear PL。然后我进行了多次run。发现这个报错不再出现

我再勾选上reset,run的报错又开始出现了,可见这个烧写报错和选项reset entire system有关。

不勾选Reset entire systempng#pic_center

然后我又找了一个使用了PL的工程,勾选上Reset entire system(虽然不勾选烧写好像也没什么问题,所以我其实不清楚此选项的好处是什么),Summary中显示的操作多了一条,2. Programing FPGA fabric using…,然后多次run,发现仍然不报错误

PLpng#pic_center

得出结论

1.未使用PL时,选中了Reset entire system,run可能报错

2.未使用PL时,不选Reset entire system,run不报错

3.使用了PL时,即使选中了Reset entire system,run也不报错

所以,一个可行的办法是:在未使用PL时,不勾选Reset entire system,这样即使在Flash mode下,烧写也不会报错。而使用了PL,勾选Reset entire system也能成功烧写。

to be continue…

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值