FreeRTOS操作系统配置文件FreeRTOSConfig.h

简介: FreeRTOS操作系统配置文件FreeRTOSConfig.h

一.前言

FreeRTOSConfig.h文件中有许多宏定义,这些宏定义就像开关一样,为1就是开,为0就是关。里面宏定义挺多的。在这里就挑几个稍微重要一点的讲。其它的也有注释,可以去博主的资源里面下载。也是免费的。

二.宏定义

2.1 任务管理机制宏定义

我们知道FreeRTOS可以使用抢占式和协作式二种多任务管理机制。抢占式就说根据优先级来抢占。而协作式其实就是优先级相同,采用时间片来执行。(其实也就是轮流执行)。所以就是有二个宏。这里我选择都打开。

#define configUSE_PREEMPTION  1         
//1使能时间片调度(默认式使能的)
#define configUSE_TIME_SLICING  1         

2.2 FreeRTOS时钟

FreeRTOS也有它自己的时钟,也就是整个系统的心脏。这里我们可以配置它的心跳。即RTOS系统节拍中断的频率。即一秒中断的次数,每次中断RTOS都会进行任务调度。这里我配置为 1s/1000=1ms。

#define configTICK_RATE_HZ  (( TickType_t )1000)            

2.3 FreeRTOS最大优先级

相较于中断优先级,数字越小,中断优先级越高。FreeRTOS是数字越大,优先级越高。这里有宏定义可以配置最大优先级是多少

#define configMAX_PRIORITIES   (32)       

2.4 FreeRTOS内存申请

任务创建可以使用动态创建和静态创建,我选择的是动态创建

//支持动态内存申请
#define configSUPPORT_DYNAMIC_ALLOCATION  1           
//支持静态内存
#define configSUPPORT_STATIC_ALLOCATION   0                 
//系统所有总的堆大小
#define configTOTAL_HEAP_SIZE   ((size_t)(36*1024))         

FreeRTOS软件定时器

FreeRTOS也有软件定时器,这里也有一个宏定义进行开关。

#define configUSE_TIMERS                1                 

结语

这里也仅是挑了几个我认为比较重要的讲,其他的可以参考博主资源中的FreeRTOSConfig.h 文件。


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
7月前
|
存储 Ubuntu 应用服务中间件
【Nginx】centos和Ubuntu操作系统下载Nginx配置文件并启动Nginx服务详解
【Nginx】centos和Ubuntu操作系统下载Nginx配置文件并启动Nginx服务详解
103 1
|
存储 Java Unix
根据不同的操作系统读取配置文件/java读取属性文件代码
package cn.com.css.common.util; /** * @brief OSEnum.java 操作系统的枚举 * @attention * @author 涂作权 * @date 2014年4月3日 * @note begin modify by null */public enum EOSPlatForm { Any("any"), Linux("Linux"), Mac
1183 0
|
1月前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
60 0
Vanilla OS:下一代安全 Linux 发行版
|
1月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
67 4
|
1月前
|
人工智能 安全 Linux
|
5月前
|
安全 Linux 网络安全
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
|
5月前
|
Linux 虚拟化 数据安全/隐私保护
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
|
2月前
|
Unix 物联网 大数据
操作系统的演化与比较:从Unix到Linux
本文将探讨操作系统的历史发展,重点关注Unix和Linux两个主要的操作系统分支。通过分析它们的起源、设计哲学、技术特点以及在现代计算中的影响,我们可以更好地理解操作系统在计算机科学中的核心地位及其未来发展趋势。
|
4月前
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
143 3
|
5月前
|
弹性计算 运维 Linux
基于在Alibaba Cloud Linux 3 的OS Copilot 产品评测
作为一名技术运维的工作者,每天做的最多一件事就是在Linux下敲各种各样的命令,或完成功能性的部署,或检查系统的稳定性。如果 OS Copilot 作为我的日常工具,我使用场景会更集中于快捷命令或脚本的实现,智能帮我生成各类功能脚本,为我提高运维效率。
基于在Alibaba Cloud Linux 3 的OS Copilot 产品评测