3 configUSE_STATS_FORMATTING_FUNCTIONS 用户配置宏定义configUSE_TRACE_FACILITY 和 configUSE_STATS_FORMATTING_FUNCTIONS 都为 1 的时候, 将使能函数vTaskList() 和 vTaskGetRunTimeStats(),如果两者中任何一个为 0,那么 这两个函数都将被禁能。 合作式任务配置 1 configUSE_CO_ROUTINES ◆ 配置为 1 :使能...
1.configUSE_CO_ROUTINES 是否使用CO_ROUTINES 配置为0:不使用 配置为1:使用 2.configMAX_CO_ROUTINE_PRIORITIES CO_ROUTINE优先级 Ⅳ MEMORY配置 内存分配相关的配置,这里的配置与heap_x.c有关,后面会再次进行讲述。 1.configSUPPORT_STATIC_ALLOCATION 是否支持静态分配 配置为0:不支持 配置为1:支持 2.configS...
用户配置宏定义 configUSE_TRACE_FACILITY 和 configUSE_STATS_FORMATTING_FUNCTIONS 都为1 的时候,将使能函数 vTaskList() 和 vTaskGetRunTimeStats(),如果两者中任何一个为 0,那么 这两个函数都将被禁能。 合作式任务配置: configUSE_CO_ROUTINES 配置为 1 使能合作式调度相关函数。 配置为 0 禁能...
2.41 configUSE_CO_ROUTINES 设置成1表示使用协程,0表示不使用协程。如果使用协程,必须在工程中包含croutine.c文件。 注:协程(Co-routines)主要用于资源发非常受限的嵌入式系统(RAM非常少),通常不会用于32位微处理器。 在当前嵌入式硬件环境下,不建议使用协程,FreeRTOS的开发者早已经停止开发协程。 2.42 configMAX_...
configUSE_PREEMPTION定义为0时,使用协作式调度器(时间片)。 抢占式调度器:系统会优先执行最高优先级的任务,抢断低优先级的任务去运行高优先级任务。 协作式调度器:系统会等待当前任务(无论优先级高低)完成并主动释放CPU后,再去切换下一个就绪任务中最高优先级的任务。
7.2.3 configUSE_TICKLESS_IDLE 此配置用于使能tickless低功耗模式 u 配置为1 使能tickless低功耗模式 u 配置为0 禁能tickless低功耗模式 7.2.4 configCPU_CLOCK_HZ 此参数用于定义CPU的主频,单位Hz。 7.2.5 configTICK_RATE_HZ 此参数用于定义系统时钟节拍数,单位Hz,一般取1000Hz即可。本教程配套的例子也全部...
configUSE_PREEMPTION 如果configUSE_PREEMPTION为0,则抢占关闭,只有在运行状态任务进入阻塞或挂起状态、运行状态任务调用或中断服务例程(ISR)手动请求切换才会发生任务切换。 configUSE_TIME_SLICING 若configUSE_TIME_SLICING为0,则关闭时间切片,因此调度器不会在每个tick中断中在同等优先级的任务之间切换。 3.2 FreeRTOS...
22、configUSE_APPLICATION_TASK_TAG 此宏设置为1的 话﹐函数configUSE_APPLICATION_TASK_TAGF()和xTaskCallApplicationTaskHook()就会被编译。 23、configUSE_CO_ROUTINES 此宏为1的时候启用协程,协程可以节省开销,但是功能有限,现在的MCU性能已经非常强大了,建议关闭协程。
FreeRTOSConfig.h 文件是 FreeRTOS 的工程配置文件,因为 FreeRTOS 是可以裁剪的实时操作内核,应用于不同的处理器平台,用户可以通过修改这个 FreeRTOS 内核的配置头文件来裁剪 FreeRTOS 的功能,所以我们把它拷贝一份放在 user 这个文件夹下面。打开 FreeRTOSv9.0.0 源码,在“ FreeRTOSv9.0.0\FreeRTOS\Demo”文件...
1、 configAPPLICATION_ALLOCATED_HEAP 默认情况下FreeRTOS的堆内存是由编译器来分配 的 , 将宏configAPPLICATION_ALLOCATED_HEAP 定义为 1 的话堆内存可以由用户自行设置,堆内存在 heap_1.c、 heap_2.c、 heap_3.c、 heap_4.c 和 heap_5.c 中有定义,具体在哪个文件取决于用户的选择哪种内存管理方式。