Vivado SDK 开发中遇到的问题与解决方法总结

目录

  • 开发环境
  • 问题1 没有规则可以创建“ .elf”需要的目标“ .o”。
    • 描述
    • 解决方案
  • 问题2 invalid use of undefined type 'volatile struct sc_ctr_info'
    • 描述
    • 解决方法
  • 问题3 程序运行时不断回到main从头开始运行
    • 描述
    • 问题原因
  • 问题4 卡死在Xil_Assert
    • 描述
    • 问题原因
    • 断言使用场景
  • 问题5 FreeRTOS修改configure.h

开发环境

Vivado 2017.4
Windows 10
ZCU102开发板

问题1 没有规则可以创建“ .elf”需要的目标“ .o”。

描述

向工程中拷贝新的.c文件之后进行编译,sdk 会报错,提示如下
Vivado SDK make: *** 没有规则可以创建“ .elf”需要的目标“ .o”。 停止。

解决方案

将工程目录下的Debug 文件夹删除后重新编译!

Vivado SDK 开发中遇到的问题与解决方法总结_第1张图片

问题2 invalid use of undefined type ‘volatile struct sc_ctr_info’

描述

编译时报错
invalid use of undefined type ‘volatile struct sc_ctr_info’

解决方法

找到相关的struct 定义,不要再.c 中定义,将其放到.h文件中定义,并且包含到使用到它的.c文件中

问题3 程序运行时不断回到main从头开始运行

描述

程序运行时不断回到main从头开始运行

问题原因

函数指针未赋值,指向不明位置

问题4 卡死在Xil_Assert

描述

程序卡死在Xil_Assert
或者 使用XSCT 发送stop指令时,返回cpu time out

问题原因

断言错误,出现可能
1、在连接中断句柄前就使能了中断
2、向自定义FPGA模块的寄存器读值,
另外,向未定义寄存器写值会导致程序卡死,因为axi总线一直不能成功

断言使用场景

同C断言,用于判断程序是否具备继续运行的条件,通常用于调试或者问题定位,以免程序运行时出现不必要的错误。

问题5 FreeRTOS修改configure.h

在配置处直接修改,否则添加文件会在重新生成BSP时被修改。

你可能感兴趣的:(ZYNQ)