Chapter 1 FreeRTOS 分布
1.1 引言
该章节帮助了解FreeRTOS ZIP的内容分布,方便读者能对FreeRTOS产生明确定位。
- 提供FreeRTOS的顶层视图
- 描述具体某个项目需要哪些文件
- 介绍演示应用程序
- 提供如何创建新项目的信息
1.2 理解FreeRTOS分布
-
定义:FreeRTOS端口
FreeRTOS可以被20多种编译器构建
可以在30多种处理器架构上运行
编译器+处理器的组合即为一种端口
-
构建FreeRTOS
FreeRTOS可被认为是一个库文件,为裸机提供多任务功能
每个端口都配有配置例程,包含配置源文件与头文件。
-
FreeRTOSConfig.h
FreeRTOS的配置文件
该文件属于正在构建的应用程序目录,不属于源文件(因为是需要配置的)。
-
FreeRTOS官方发行版本
通过一个zip压缩包发行,包含了所有的端口配置例程。
-
FreeRTOS发行版的顶级目录
- FreeRTOS
- Source
- Demo
- FreeRTOS-Plus
- Source
- Demo
- FreeRTOS
-
FreeRTOS源文件适配所有端口
- 核心FreeRTOS源代码仅包含在tasks.c和list.c中(FreeRTOS/Source)
- Source文件中还包含有:
- queue.c(提供队列和信号量服务)
- timers.c(提供软件定时器功能)
- event_groups.c(提供事件组功能)
- croutine.c(共同例程功能,不重要)
-
特定于端口的FreeRTOS源文件
包含在FreeRTOS/Source/portable目录(第二章详述)
FreeRTOS将堆内存管理作为可移植层的一部分,提供了五个堆分配示例(heap_1到heap_5)
-
包含路径
FreeRTOS要求编译器包含三个路径:
- FreeRTOS/Source/include(始终包含,核心FreeRTOS头文件)
- FreeRTOS/Source/portable/[compiler]/[architecture](正在使用端口的源文件)
- FreeRTOSConfig.h
-
头文件
- FreeRTOS.h
- 调用的API任务的头文件:
- task.h
- queue.h
- timer.h
- event_groups.h
1.3 演示应用程序
演示应用程序目的:
-
<