1、基于提供的演示项目
每一个FreeRTOS Port都提供一个无错误、无警告的演示应用程序。建议通过调整现有项目创建新项目,这将允许项目包含正确的文件、安装正确的中断应用程序、和正确的编译器选项集。
从现在项目开始新的应用程序:
- 打开演示项目,并确保它按预期的方式编译和执行。
- 删除演示任务的源文件。任何位于Demo\Common目录中的文件都可以删除。
- 删除main()中所有调用函数,除了prvSetupHardware()和vTaskStartScheduler()。如下面代码片段。
- 检查项目直到正常编译。
int main( void ) { /* Perform any hardware setup necessary. */ prvSetupHardware(); /* --- APPLICATION TASKS CAN BE CREATED HERE --- */ /* Start the created tasks running. */ vTaskStartScheduler(); /* Execution will only reach here if there was insufficient heap to start the scheduler. */ for( ;; ); return 0; }
2、从头开始创建
如前所述,建议从现有演示项目中创建新项目。 如果这是不可取的,则可以使用以下过程创建一个新项目:
- 使用您选择的工具链,创建一个尚未包含任何FreeRTOS源文件的新项目。
- 确保可以构建新项目,下载到目标硬件并执行。
- 只有当您确定已经有一个工作项目时,才能将项目中的FreeRTOS源文件添加到'Table 1'中。
- 将所使用端口提供的演示项目使用的FreeRTOSConfig.h头文件复制到项目目录中。
- 将以下目录添加到项目将搜索的头文件路径中:
FreeRTOS / Source / include
FreeRTOS / Source / portable / [compiler] / [architecture]
包含FreeRTOSConfig.h头文件的目录 - 从相关演示项目复制编译器设置。
- 安装任何可能需要的FreeRTOS中断处理程序。 使用网页描述正在使用的端口,以及为使用的端口提供的演示项目作为参考。
File | Location |
tasks.c | FreeRTOS/Source |
queue.c | FreeRTOS/Source |
List.c | FreeRTOS/Source |
event_groups.c | FreeRTOS/Source |
All C and asm file | FreeRTOS/Source/portable/[compiler]/[architecture] |
heap_n.c | FreeRTOS/Source/portable/MemMang, n: 1,2,3,4 or 5 |