一. DDR设置问题。

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

烧写报错如下:

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

经排查:

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

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

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

收获:即使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

经排查:

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

二. 烧写设置出错

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

烧写报错如下:

Error while launching program: Cannot halt processor core, timeout

在用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 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有关。

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

得出结论

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…

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

  1. arduino烧写报错:can‘t open device “\\.\COM1“

    我的解决办法是拔掉usb,让它关机,停止运行一会,它便可恢复. 记得之前也有一次,那次解决好像是通过修改它的端口号,例如我将它com8修改为com1. 两个方法都可以尝试下,希望有帮助.

  2. ubuntu搭建基于arm-none-eabi-gcc,jlink驱动的平台,并实现stm32f103c8t6程序的编译链接和烧写

    ubuntu搭建基于arm-none-eabi-gcc,jlink驱动的环境,并实现stm32f103c8t6程序的编译链接和烧写 说明: 本文内容基于VMware上的ubuntu虚拟机,vmware ...

  3. 【学习分享】2、创龙 TMS320C6748开发板程序加载和烧写(一)

    此部分由于篇幅过长,将分为五个小点进行叙述,此处主讲基于仿真器的程序加载和烧写,所用器件为创龙TMS320C6748开发板.需要注意的点已在备注中进行说明. 如果需要从头开始进行本使用手册的阅读,欢迎 ...

  4. 【学习分享】2、创龙 TMS320C6748开发板程序加载和烧写(四)

    此部分由于篇幅过长,将分为五个小点进行叙述,此处主讲基于SD卡烧写程序到NAND FLASH,所用器件为创龙TMS320C6748开发板.需要注意的点已在备注中进行说明. 如果需要从头开始进行本使用手 ...

  5. 【Qt】Qt程序编译成功,执行时报错:程序异常结束,crashed

    [Qt]Qt程序编译成功,执行时报错:程序异常结束,crashed 错误打印信息 Starting E:*exe- 程序异常结束. E:*.exe crashed. 原因 使用到外部库,编译时,指定了 ...

  6. 【学习分享】2、创龙 TMS320C6748开发板程序加载和烧写(二)

    此部分由于篇幅过长,将分为五个小点进行叙述,此处主讲基于串口的程序加载和烧写,所用器件为创龙TMS320C6748开发板.需要注意的点已在备注中进行说明. 如果需要从头开始进行本使用手册的阅读,欢迎阅 ...

  7. c语言程序编译成功运行失败,为什么这个程序编译成功但运行失败?

    为什么这个程序编译成功但运行失败? 可以编译,就是运行失败.请问哪里出问题了. 所示的程序在屏幕上打印函数F(y)=e-y*sin(2πy)的曲线. #include #include #define ...

  8. win7 上面 gcc 编译的程序 a exe 运行的时候报错 a exe 已停止工作, 异常代码 c0000005

    win7 上面 gcc 编译的程序 a.exe 运行的时候报错 a.exe 已停止工作, 异常代码:c0000005: 原因分析: 一开始我以为是我的代码的问题,后来查询了这个错误码发现原来是兼容性的 ...

  9. 解决只读模式U盘保护格式化或者dd写报错:ERROR: failed to open ‘/dev/sdb‘ in read-write mode: Read-only file system.

    解决只读模式U盘保护格式化或者dd写报错:ERROR: failed to open '/dev/sdb' in read-write mode: Read-only file system. 或者: ...

最新文章

  1. cocos2d-x 输出debug信息
  2. jquery 3D分页翻转滑块
  3. Springboot 请求数据
  4. 创建多线程_你真的了解多线程吗?
  5. springboot 项目部署为war项目
  6. 创建简单的Flex组件
  7. 暴露年龄系列!这些手机系统 你用过几个?
  8. java与can总线开发_CANdbc编辑器的下载和入门介绍
  9. 404 Note Found 队 Alpha8
  10. 去除标题_1688如何通过黄金标题引爆流量?
  11. 可视化排班管理_人事工资管理系统就选i人事,提升算薪效率聚焦战略决策
  12. JAVA实现上传,下载,jxl操作Excel和邮件发送
  13. java用jimi.jar实现图片格式转换
  14. arduino动态刷新显示_玩家国度XG27UQ绝影游戏显示器评测:DSC加持的满血4K显示器...
  15. 深拷贝和浅拷贝的区别(必须掌握)
  16. fpga 中的slew rate 什么意思
  17. root改手机型号王者,手机root后怎么改手机型号
  18. 向量ab怎么用计算机打出来,数学ab上面加一横线-数学符号如何打?急急急!!!向量AB上的剪 – 手机爱问...
  19. 生成HTTPS协议需要的SSL证书
  20. 2018/09/29Web前端学习第五课

热门文章

  1. 影响中国发展的七大垂直搜索引擎
  2. 排队接水pascal程序
  3. Codeforces 1276C/1277F Beautiful Rectangle (构造)
  4. 计算机室是学校重要的教学设施,计算机室治理规章.doc
  5. spark UDAF
  6. python list操作说明
  7. ASP.NET WebAPI 集成 Swagger 启用 OAuth 2.0 配置问题
  8. Python语法基础(长期)
  9. NOIP2001-普及组复赛-第一题-数的计算
  10. stm32 invalid rom table(转载)