1.基于2018.2的vivado
2.部分基于小梅哥的ACZ020-CB开发板做的测试,部分来自公司自制设备
3.关于ZYNQ的官方库和示例,印度老哥们写的代码,一般测试不会很深,在化用为自己的代码时,需要格外注意!
问题 | 问题分析 | 解决办法 |
---|---|---|
工程压缩后再解压,SDK中的bsp和app没有了 | 某些配置文件损失 | 程序重新import、building、下载运行 import: ![]() |
launch SDK失败 | 删除xxxx.sdk的.metadata文件![]() | |
![]() | 需要使用到TTC0,检查PL的ZYNQ IP是否开启TTC0 | Vitis2023.2生成freertos的Platform失败解决方法_vitis 2023.2创建工程失败-优快云博客 |
vitis的platform丢失 ![]() | 路径变化导致的,工具栏:Xilinx->Platform Repositories,重新导入 | D:/Vitis/export/RF47DR/RF47DRxpfm‘ is invalid. please choose a valid platform.-优快云博客 |
debug有时候出现 ![]() | 内存挂了 | 重启设备就行了 |
debug警告 ![]() | 软件版本问题 | 可以忽略 |
程序下载后,USB、网口等外设,偶尔能正常运行 | 外设初始化问题 | 1. 完全断电; 2. 检查外设工作顺序(比如USB需要zynq启动后,才能插入) |
无法SD启动 | vivado中,SD外设没有初始化 | 正确配置SD |
没有建立FSBL | 建立FSBL | |
下载后无法运行 | DDR设置错误 | 正确配置DDR |
约束文件XDC没写 | 补充XDC文件和约束内容 | |
zynq ip的bank电压设置错误 | 正确配置bank电压 | |
JTAG运行一半挂了 | 没有下载FPGA信息,或者没有复位 | 配置中全部勾选![]() |
“ff.h”报错 | xilffs库错误 | 重新设置bsp setting![]() |
USB的MSC存储在freeRTOS下,初始化USB,系统无法调度和运行 | 中断错误的多次初始化 | 多个例程的中断控制器是一样的,需要传递指针或者其他形式,保证只有一个控制器Zynq-7000 FreeRTOS(二)中断:解决RTOS中中断无反应问题 - 码上快乐 (codeprj.com) |
MSS的以太网例程无法运行 | PHY识别失败 | 修改PHY-ID,RTL8211F为0x001C![]() |
PHY网速协商失败![]() | PHY寄存器位置错误 | 修改PHY寄存器 【Zynq】【Lwip】解决使用官方lwip模板时自动协商失败的问题 - 裸机编程相关问题 - 芯路恒电子技术论坛 - Powered by Discuz! (corecourse.cn) |
DHCP失败 | 使用的接口错误 | 配置为使用外部PHY![]() |
IO速度不够 | ![]() | |
已有分配,多次discover失败 (之前已经申请过了) | 先release释放原来的分配地址 再discover![]() | |
时钟错误 | ![]() | |
编译提示缺少一个不存在的目标文件(*.o) make: *** No rule to make target ‘bsp.o’, needed by ‘os.elf’. Stop.![]() | 在Debug\subdir.mk文件中,注释/删除描述 | ![]() |
卡死在Xil_Assert ![]() | 添加处理函数,清空wait | ![]() |
usb偶尔能工作 | 1. 调试模式没有运行FSBL 2. 硬件问题(线材、虚焊等) | 1.OTG的跳线帽松动 2.FSBL影响,调试模式不会运行FSBL,有些功能没有初始化 3.只使用USB1的情况下,例程的USB号有错误 4.电脑端不要用usb-hub!! |
usb+rtos调度失败 | 任务堆栈不够 | 调高xTaskCreate的堆栈 |
EMIO序号哪儿来的 | vivado设置的 | ![]() ![]() |
RTOS无法使用sucgic的timer | 内核占用了这个定时器 | 建议不要用,用PL端做 |
新使能的模块(如ttc等),生成.hdf文件后,编译失败,.mss找不到 | 保留.hdf和app,删除其他sdk内容,重新launch | |
![]() | 需要手动清除错误信息 | |
烧录固化QSPI失败 | ![]() | sdk烧写flash报error:given target do not exis处理方式_error: given target do not exist-优快云博客 找不到文中所说进程,可以重启电脑来解决 |
![]() | 设备没进jtag模式,2个办法: 1. 修改MIO3/4/5 ![]() | |
![]() | zynq不支持这个型号的QSPI uboot 增加不同型号的 nor-flash 调试笔记_norflash jedec id大全-优快云博客 | |
TTC运行失败 | 在FreeRTOS环境下 | RTOS占用了TTL0 |
TTL名字和占用是反的!!! ![]() | ||
有两个TTC,每个TTC有3路定时器 | ||
Xilinx下DONE did not go high | ![]() | 1.boot错误 Xilinx下DONE did not go high。的问题,已解决-trigpoplar-ChinaUnix博客 2.调试器接触不良 3.启动后复位PL会出现 4.不要用usb-hub!! |
调试时正常,固化后,PL运行部分出错 | 售后说,FSBL的加载QSPI中BIT文件的速度过快导致的 | FSBL中,修改QSPI速度 ![]() |
无法启动调度 | 任务延时小于调度时长 | ![]() |