2024年3月14日发(作者:)

第7章 FreeRTOSConfig配置文件详解

本章节为大家讲解FreeRTOS的配置文件FreeRTOSConfig.h中每个选项的作用。初学的话,一定要

有个了解,随着以后的学习一定要熟练操作每个配置选项。

本章节内容主要整理自官网:/

7.1 配置选项说明

7.2 基本配置

7.3 钩子函数配置

7.4 任务运行信息获取配置

7.5 合作式任务配置

7.6 软件定时器配置

7.7 内核配置

7.8 断言配置

7.9 函数Include配置

7.10

总结

7.1 配置选项说明

对于初学者来说,要在以后的时间里达到熟练操作FreeRTOS的配置选项。大部分的选项在

FreeRTOS.h文件里面都有默认的配置。用户在使用时,把用到配置选项放在FreeRTOSConfig.h文件配

置即可。

7.2 基本配置

基本配置是FreeRTOS中经常用到的配置,下面分别进行介绍,这里有个感性认识即可,随着后面的

使用中会熟练起来。

7.2.1 configUSE_PREEMPTION

 配置为1

使能抢占式调度器。

 配置为0

使能合作式调度器。

武汉安富莱电子有限公司

安富莱STM32-V6开发板FreeRTOS教程

7.2.2 configUSE_PORT_OPTIMISED_TASK_SELECTION

此配置用于优化优先级列表中要执行的最高优先级任务的算法。对CM内核的移植文件,默认已经在

文件portmacro.h文件中使能。

 通用方式---配置为0:

 所有平台的移植文件都可以配置为0,因为这是通用方式。

 纯C编写,比专用方式效率低。

 可用的优先级数量不限制。

 专用方式---配置为1:

 部分平台支持。

 这些平台架构有专用的汇编指令,比如CLZ(Count Leading Zeros)指令,通过这些指令可以

加快算法执行速度。

 比通用方式高效。

 有最大优先级数限制,通常限制为32个。

7.2.3 configUSE_TICKLESS_IDLE

此配置用于使能tickless低功耗模式

 配置为1

使能tickless低功耗模式

 配置为0

禁能tickless低功耗模式

7.2.4 configCPU_CLOCK_HZ

此参数用于定义CPU的主频,单位Hz。

7.2.5 configTICK_RATE_HZ

此参数用于定义系统时钟节拍数,单位Hz,一般取1000Hz即可。本教程配套的例子也全部采用这

个时钟节拍数。过高的的系统时钟节拍将使得FreeRTOS内核运行占用过多的时间,增加系统负荷。

2016年06月30日 版本:1.0 第 2 页 共 10 页