STM32CubeMX 配置 FreeRTOS - Config parameters FreeRTOS - Include parameters

https://blog.csdn.net/qq_16069457/article/details/103671465

https://blog.csdn.net/weixin_40599145/article/details/100164676

https://blog.csdn.net/zhzht19861011/article/details/50134883

 

use preemption                       使用抢占                                                          

cpu clock hz                           设置CPU的频率

tick rate hz                              时钟节拍频率,这里设置为1000,周期就是1ms

max priorities                         可使用的最大优先级(指的是任务的)

                                               对于 STM32F103,F407 和 F429 来说,中断优先级的数值越小,优先级越高。 而 FreeRTOS
                                                的任务优先级是,任务优先级数值越小,任务优先级越低。

minimal stack size                 空闲任务使用的堆栈大小,单位是字,一般128word

max task name len                任务名字字符串长度               

use 16 bit ticks                      系统节拍计数器变量数据类型,
                                             enable表示为16位无符号整形,disable表示为32位无符号整形

idle should yield                              为enable时空闲任务放弃CPU使用权给其他同优先级的用户任务          

use mutexes                                    为enable时使用互斥信号量

use recursive mutexes                     为enable时使用递归互斥信号量

use counting semaphores                为enable时使用计数信号量

queue registry size                              不为0时表示启用队列记录,具体的值是可以
                                                             记录的队列和信号量最大数目。

use appliction task tag                               为enable时可以给任务分配标签值

enable backward compatibility               为enable启用向后兼容,头文件FreeRTOS.h包含一系列#define宏定义,用来映射版本V8.0.0和V8.0.0之前版本的数据类型名字。这些宏可以确保RTOS内核升级到V8.0.0或以上版本时,之前的应用代码不用做任何修改。在FreeRTOSConfig.h文件中设置宏configENABLE_BACKWARD_COMPATIBILITY为disable会去掉这些宏定义,并且需要用户确认升级之前的应用没有用到这些名字。
  就是为了兼容之前的版本用的宏。例如:在之前的版本中,FreeRTOS的各种类型均为xXXX(如xSemaphoreHandle),在最新版中,均使用XXX_t(如SemaphoreHandle_t)。因此,在新项目中,最好使用FreeRTOS的最新的各种类型定义。

use port optimised task selection               enable启用特殊方法来选择下一个要运行的任务
                                                                       一般是硬件计算前导零指令,如果所使用的
                                                                       MCU没有这些硬件指令的话此宏应该设置为disable

use tickless idle                                         为enable启用低功耗tickless模式

use task notifications                                为enable时开启任务通知功能,默认开启

record stack high address                         为enable时记录堆栈高地址
 

tolal heap size                                                     总堆大小

memory management schema                            内存管理架构

use idle hook                                                       enable使用空闲钩子;disable不使用

use tick hook                                                      enable使用时间片钩子;disable不使用

use malloc failed hook                                         enable使用内存申请失败钩子函数

use daemon task startup hook                            使用守护程序任务启动挂钩                       

check for stack overflow                                      检查堆栈溢出,大于0时启用堆栈溢出检测功能,如果使用此功能
                                                                        用户必须提供一个栈溢出钩子函数,如果使用的话
                                                                        此值可以为option1或者option2,因为有两种栈溢出检测方法。

generate run time stats                                          生成运行时统计信息

use trace facility                                                   enable启用可视化跟踪调试

use stats formatting functions                             使用统计格式功能, 

                                                               与宏configUSE_TRACE_FACILITY同时为1时会编译下面3个 函数
                                                                        prvWriteNameToBuffer(),vTaskList(),
                                                                        vTaskGetRunTimeStats()

use co routines                                        为enable时启用协程,启用协程以后必须添加文件croutine.c

max co routine priorities                               协程的有效优先级数目,通常为2

use timers                                                     为enable时启用软件定时器

timer task priority                                                 软件定时器优先级,可设置为<=(configMAX_PRIORITIES-1)

timer queue length                                             软件定时器队列长度

timer task stack depth                                                软件定时器任务堆栈大小,通常为 (configMINIMAL_STACK_SIZE*2)

library lowest interrupt priority                                        中断最低优先级          

library max syscall interrupt priority                              系统可管理的最高中断优先级

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章