将 FreeRTOS 与 XC8 编译器一起使用
Posted
技术标签:
【中文标题】将 FreeRTOS 与 XC8 编译器一起使用【英文标题】:Using FreeRTOS with XC8 compiler 【发布时间】:2014-09-19 00:08:42 【问题描述】:我正在尝试使用 XC8 编译器设置 FreeRTOS,但没有成功。我在互联网上搜索过,但没有太多关于它的信息。我使用的是 PIC18F46K80,所以我不能使用 C18,因为它不受支持。
我正在尝试编译这个最小程序:
#include <p18f46k80.h>
#include <stdlib.h>
#include <FreeRTOS.h>
int main(int argc, char** argv)
return (EXIT_SUCCESS);
我已经包含了编译器的相应路径:
我得到的错误是:
FreeRTOS/Source/include\timers.h:71: 错误: (103) #error: "include FreeRTOS.h 必须在包含 timers.h 之前出现在源文件中”
FreeRTOS/Source/include\task.h:71: 错误: (103) #error: "include FreeRTOS.h 必须在包含 task.h 之前出现在源文件中”
你可以清楚地看到我包括FreeRTOS.h
。例如,我尝试在timers.h
中手动添加#define
:
#ifndef INC_FREERTOS_H
#error "include FreeRTOS.h must appear in source files before include timers.h"
#endif
错误消失了,但我得到了很多新错误。不能将 FreeRTOS 与 XC8 一起使用吗?还有其他适用于 XC8 的免费 RTOS 吗?
【问题讨论】:
【参考方案1】:我尝试使用 C18,但最新版本的 FreeRTOS 不再编译。由于 PIC18 上的零散架构 FreeRTOS 不再支持它们,社区也不支持,所以如果您想更好地使用 RTOS,请尝试使用 PIC24 或更高版本,或者尝试一些仅为 PIC18 设计的更简单的 RTOS!
【讨论】:
以上是关于将 FreeRTOS 与 XC8 编译器一起使用的主要内容,如果未能解决你的问题,请参考以下文章
请教mplab x ide v3.05 xc8编译 pic17f887 pickit3调试问题