我试图在zedboard中将fpga的中断链接到FreeRTOS。当我写代码时:
InterruptController = (XScuGic *)prvGetInterruptControllerInstance();
我从Xilinx SDK收到错误说:
undefined reference to `prvGetInterruptControllerInstance'
我可以知道使用该功能所需的包含头文件是什么吗?我尝试在线搜索,并且包含相同的头文件:
/* FreeRTOS includes. */
#include "FreeRTOS.h"
#include "FreeRTOSConfig.h"
#include "task.h"
#include "queue.h"
#include "timers.h"
#include "semphr.h"
/* Xilinx includes. */
#include "xil_printf.h"
#include "xparameters.h"
#include <xil_io.h>
#include "xscugic.h"
#include <stdio.h>
谢谢!
答案 0 :(得分:0)
1-您的IDE可以帮助您找到头文件:右键单击函数名称,然后单击转到定义,一旦获得头文件,例如file.h
,您应该包含它。
2 - 您的# include
假设标题文件freeRTOS.h
...位于同一文件夹中,但可能位于其他文件夹中,
我说是因为freeRTOSConfig.h
是一个配置文件,它不应该与内核包含文件task.h
,...,(至少在演示项目中)位于同一文件夹中,所以请确保使用标题的良好本地/全局路径
3-包含的顺序并不好我猜,最好的方法是从全局到本地,stdio.h
例如应该在包含的顶部