快捷搜索:  汽车  科技

stm32cubeide怎么添加代码(FreeRTOS配置页面中文注释)

stm32cubeide怎么添加代码(FreeRTOS配置页面中文注释)MINIMAL_STACK_SIZE 设置任务优先级的数量,如果这个定义的是 5,那么用户可以使用的优先级号是 0 1 2 3 4,不包含 5,对于这一点,初学者要特别的注意。这里默认为7,因为CMSIS-OS中对任务优先级的限制,就只有7个,使用cubemx配置的时候有7个选项可以配置?。TICK_RATE_HZ 此参数用于定义系统时钟节拍数,单位 Hz,一般取 1000Hz 即可。过高的的系统时钟节拍将使得 FreeRTOS 内核运行占用过多的时间,增加系统负荷。MAX_PRIORITIES

stm32cubeide怎么添加代码(FreeRTOS配置页面中文注释)(1)

stm32cubeide怎么添加代码(FreeRTOS配置页面中文注释)(2)

USE_PREEMPTION

enabled 使用抢占式 disabled 使用合作式调度

CPU_CLOCK_HZ

此参数用于定义 CPU 的主频,单位 Hz,不可修改

TICK_RATE_HZ

此参数用于定义系统时钟节拍数,单位 Hz,一般取 1000Hz 即可。过高的的系统时钟节拍将使得 FreeRTOS 内核运行占用过多的时间,增加系统负荷。

MAX_PRIORITIES

设置任务优先级的数量,如果这个定义的是 5,那么用户可以使用的优先级号是 0 1 2 3 4,不包含 5,对于这一点,初学者要特别的注意。这里默认为7,因为CMSIS-OS中对任务优先级的限制,就只有7个,使用cubemx配置的时候有7个选项可以配置?。

MINIMAL_STACK_SIZE

此参数用于定义空闲任务的栈空间大小,单位字,即 4 字节。STM32上设置100,实际堆栈大小为100*4=400字节。

MAX_TASK_NAME_LEN

定义任务名最大的字符数,末尾的结束符 '\0'也要计算在内。

USE_16_BIT_TICKS

系统时钟节拍计数使用 TickType_t 数据类型定义的。

如果用户使能了宏定义 configUSE_16_BIT_TICKS,那么 TickType_t 定义的就是 16 位无符号数,如果没有使能,那么 TickType_t 定义的就是 32 位无符号数。对于 32 位架构的处理器,一定要禁止此宏定义,即设置此宏定义数值为 0 即可。而 16 位无符号数类型主要用于 8 位和 16 位架构的处理器。

IDLE_SHOULD_YIELD

此参数用于使能与空闲任务同优先级的任务,只有满足以下两个条件时,此参数才有效果:

1. 使能抢占式调度器。

2. 有创建与空闲任务同优先级的任务。

配置为 1,就可以使能此特性了,实际应用中不建议用户使用此功能,将其配置为 0 即可。

USE_MUTEXES

配置为 1 使能互斥信号量

 配置为 0禁能互斥信号量

USE_RECURSIVE_MUTEXES

配置为 1使能递归互斥信号量

 配置为 0禁能递归互斥信号量

USE_COUNTING_SEMAPHORES

配置为 1使能计数信号量

 配置为 0禁能计数信号量

QUEUE_REGISTRY_SIZE

通过此定义来设置可以注册的信号量和消息队列个数。

队列注册有两个目的,这两个目的都与内核调试有关:

 注册队列的时候,可以给队列起一个名字,当使用调试组件的时候,通过名字可以很容易的区分不同队列。通过队列的相关信息,调试器可以很容易定位队列和信号量,能够定位信号量是因为 FreeRTOS 信号量也是基于队列实现的。

当然,如果用户没有使用内核方面的调试器,这个宏定义是没有意义的。

USE_APPLICATION_TASK_TAG

ENABLE_BACKWARD_COMPATIBILITY

配置为 1使能新版本对老版本的兼容特性,即向后兼容或者说向下兼容。

 配置为 0禁止此特性。

USE_PORT_OPTIMISED_TASK_SELECTION

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

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

所有平台的移植文件都可以配置为 0,因为这是通用方式。 纯 C 编写,比专用方式效率低。可用的优先级数量不限制。

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

 部分平台支持。

 这些平台架构有专用的汇编指令,比如 CLZ(Count Leading Zeros)指令,通过这些指令可以加快算法执行速度 比通用方式高效。有最大优先级数限制,通常限制为 32 个。

USE_TICKLESS_IDLE

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

 配置为 1使能 tickless 低功耗模式

 配置为 0禁能 tickless 低功耗模式

USE_TASK_NOTIFICATIONS

配置为 1使能任务间直接的消息传递,包含信号量,事件标志组和消息邮箱。

 配置为 0禁能此特性。

USE_IDLE_HOOK

配置为 1使能空闲任务的钩子函数

 配置为 0禁能空闲任务钩子函数

USE_TICK_HOOK

配置为 1使能滴答定时器中断里面执行的钩子函数

 配置为 0禁能滴答定时器中断里面执行的钩子函数

USE_MALLOC_FAILED_HOOK

当创建任务,信号量或者消息队列时,FreeRTOS 通过函数 pvPortMalloc()申请动态内存。

 配置为 1使能动态内存申请失败时的钩子函数

 配置为 0禁能动态内存申请失败时的钩子函数

猜您喜欢: