FreeRTOS【2】配置文件

1.开发背景

       基于上一篇指引,移植了 FreeRTOS 到系统核心移植到了工程中,但是有很多功能没有配置,下面介绍常用的配置。

2.开发需求

        配置 FreeRTOS 常用功能  

3.开发环境

        window10 + MDK + STM32F429 + FreeRTOS10.3.1

4.实现步骤

4.1 配置文件 FreeRTOSConfig.h

        FreeRTOS 提供的统一的配置文件,即在这个配置文件中,FreeRTOS.h 直接调用了 FreeRTOSConfig.h,如下图所示:

FreeRTOSConfig.h 配置

#define configENABLE_FPU                         0
#define configENABLE_MPU                         0#define configUSE_PREEMPTION                     1
#define configSUPPORT_STATIC_ALLOCATION          0
#define configSUPPORT_DYNAMIC_ALLOCATION         1
#define configUSE_IDLE_HOOK                      0
#define configUSE_TICK_HOOK                      0
#define configCPU_CLOCK_HZ                       ( SystemCoreClock )
#define configTICK_RATE_HZ                       ((TickType_t)1000)
#define configMAX_PRIORITIES                     ( 10 )
#define configMINIMAL_STACK_SIZE                 ((uint16_t)128)
#define configTOTAL_HEAP_SIZE                    ((size_t)64 * 1024)
#define configMAX_TASK_NAME_LEN                  ( 16 )
#define configUSE_16_BIT_TICKS                   0
#define configUSE_MUTEXES                        1
#define configQUEUE_REGISTRY_SIZE                8
#define configUSE_PORT_OPTIMISED_TASK_SELECTION  1
/* USER CODE BEGIN MESSAGE_BUFFER_LENGTH_TYPE */
/* Defaults to size_t for backward compatibility, but can be changedif lengths will always be less than the number of bytes in a size_t. */
#define configMESSAGE_BUFFER_LENGTH_TYPE         size_t
/* USER CODE END MESSAGE_BUFFER_LENGTH_TYPE *//* Co-routine definitions. */
#define configUSE_CO_ROUTINES                    0
#define configMAX_CO_ROUTINE_PRIORITIES          ( 2 )

configUSE_PREEMPTION  配置是否开启任务抢占,一般选择开启,这样才能提高高优先级任务的实时性

configUSE_TIME_SLICING 配置是否开启时间片轮询,默认开启,这样同等级任务可以共享CPU

configTICK_RATE_HZ         配置时钟节拍的时间频率,一般设置 1000Hz,即 1ms 一个节拍,频率过低会影响系统的实时性,频率过高会增加系统的调度负荷。

configMAX_PRIORITIES     配置最大优先级,这里设置的是10,能用的优先级为 0~9,最大的设置值为 32,其中空闲任务的优先级为0,如果系统处于空闲状态,PC 指针会一直在空闲任务中打转。

configMINIMAL_STACK_SIZE 配置任务的最小堆栈,单位是 /4Bytes

configTOTAL_HEAP_SIZE  配置分配给系统的堆栈大小,芯片的 RAM 会分出一部分给到系统,如果配置的内存比较小,可能会导致任务创建失败甚至是系统启动失败,分配过大会导致芯片剩余 RAM 不足,单位是 /Bytes

configUSE_16_BIT_TICKS  配置 16bit 时钟,现在一般配置为 0,按照时钟本身计数,如果设置为0,即强制16bit。

上面的配置有部分是必须的,FreeRTOS 中会标定

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/688767.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Top命令详解

这是top命令在Unix-like系统中的输出示例,提供了关于系统当前状态的实时信息,包括CPU使用率、内存使用情况、进程信息等。下面是对输出中各个字段的解释: top - 15:16:33:这是当前时间。 up 5:48:系统运行时间&#x…

专项技能训练五《云计算网络技术与应用》实训8-1:建立基于OpenvSwitch的GRE隧道

文章目录 建立基于OpenvSwitch的GRE隧道1. 使用VMware安装2个CentOS 7虚拟机,安装时记得都开启CPU虚拟化,第一台命名为“Docker”,第二台命名为“KVM”。2. 安装完虚拟机后,进入虚拟机,修改网络配置(onboot…

局域网内监控软件有哪些:五款好用的网络监控神器分享

面对员工这种现象怎么办? 监控电脑最有效! 局域网监控软件,你值得拥有! 要想轻松监控电脑,这几款局域网内监控软件不容错过!!! 一、域智盾软件 是一款专注于企业终端安全管理的软…

codeforces round 149 div2(a,b,c,d)

手速场&#xff0c;可惜我傻逼卡 c c c了 题目链接 A #include<bits/stdc.h>using namespace std;#define int long long #define PII pair<int,int>void solve() {int n,k;cin>>n>>k;if(n<k){cout<<1<<\n;cout<<n<<\n;}…

GBU810-ASEMI开关电源整流桥GBU810

编辑&#xff1a;ll GBU810-ASEMI开关电源整流桥GBU810 型号&#xff1a;GBU810 品牌&#xff1a;ASEMI 封装&#xff1a;GBU-4 正向电流&#xff08;Id&#xff09;&#xff1a;8A 反向耐压&#xff08;VRRM&#xff09;&#xff1a;1000V 正向浪涌电流&#xff1a;200…

使用 Valgrind 检测内存泄漏

Valgrind 是一个编程工具&#xff0c;用于内存调试、内存泄漏检测以及性能分析。Valgrind 工具集中的 Memcheck 是用于检测内存管理和线程错误的主要工具。 参考&#xff1a;https://blog.csdn.net/weixin_44046545/article/details/138417524 1、安装 Valgrind sudo apt-ge…

charts3D地球--添加航线

要在地球视角下画出海运路线图 方案 添加 globl 地球创建geo地理坐标系创建canvas对象用于承载地图世界地图this.worldChart //初始化canvas节点let cav document.createElement("canvas");this.$echarts.registerMap("world", geoJson);this.worldCha…

【JVM】ASM开发

认识ASM ASM是一个Java字节码操纵框架&#xff0c;它能被用来动态生成类或者增强既有类的功能。 ASM可以直接产生二进制class文件&#xff0c;也可以在类被加载入虚拟机之前动态改变类行为&#xff0c;ASM从类文件中读入信息后能够改变类行为&#xff0c;分析类信息&#xff…

【C语言/Python】嵌入式常用数据滤波处理:卡尔曼滤波器的简易实现方式(Kalman Filter)

【C语言/Python】嵌入式常用数据滤波处理&#xff1a;卡尔曼滤波器的简易实现方式&#xff08;Kalman Filter&#xff09; 文章目录 卡尔曼滤波卡尔曼滤波公式卡尔曼滤波数据处理效果C语言的卡尔曼滤波实现附录&#xff1a;压缩字符串、大小端格式转换压缩字符串浮点数压缩Pack…

林更新博士之路星途璀璨再启航

林更新&#xff1a;博士之路&#xff0c;星途璀璨再启航在这个充满机遇与挑战的时代&#xff0c;有一位演员以其出色的演技和不懈的努力&#xff0c;赢得了无数观众的喜爱。他&#xff0c;就是林更新。今日&#xff0c;一条消息如重磅炸弹般在娱乐圈炸开&#xff0c;让无数粉丝…

jenkins部署想定报错

报错&#xff1a; 解决办法&#xff1a; 登录被编译的设备&#xff0c;清楚旧代码&#xff0c;在重新执行

Dbeaver network unavailable due to certificate issue

场景&#xff1a;出现在DBeaver连接数据库下载驱动的时候 解决&#xff1a; 别勾选就可以了