FreeRTOS配置选项讲解
讲解FreeRTOS之前首先要获取到源码,获取源码的途径有两种,第一种是通过官网来下载,下载地址为:http://www.freertos.org/, 另外一种是从代码托管网站上下载:https://sourceforge.net/projects/freertos/files/FreeRTOS/
FreeRTOS源码目录结构
下载了源码之后,要了解源码文件的目录结构,每一个文件夹存放的是什么内容。下面是源码的根目录,其中FreeRTOS存放的是kernel的源码和与特定芯片相关的代码。FreeRTOS-Plus目录包含的是第三方的产品,一般我们不需要使用,FreeRTOS-Plus的预配置演示项目组件(组件大多数都要收费),大多数演示项目都是在Windows环境中运行的,使用FreeRTOS windows模拟器。
FreeRTOS文件夹的目录结构如下,Demo文件夹里面是FreeRTOS适配不同的板子的官方例程,里面最重要的文件就是FreeRTOSConfig.h文件。License文件夹是做产品的时候才会用到的。Source文件夹里面是Kernel的源码。
Source文件夹的目录结构如下,include是相关的头文件,portable是和芯片具体类型相关的文件,很多是汇编写的。portable文件夹里面重要的文件就是内存相关的heap.c和具体芯片类型相关的port.c。
FreeRTOSConfig.h文件分析
FreeRTOSConfig.h主要都是OS的配置选项,通过宏控来实现开关功能,具体的代码如下:
#ifndef FREERTOS_CONFIG_H
#define FREERTOS_CONFIG_H
/*-----------------------------------------------------------
* Application specific definitions.
*
* These definitions should be adjusted for your particular hardware and
* application requirements.
*
* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
* FreeRTOS API DOCUMENTATIO