https://www.freertos.org/Static_Vs_Dynamic_Memory_Allocation.html介绍,我来为大家科普一下关于freertos 静态内存大小?以下内容希望对你有帮助!

freertos 静态内存大小(FreeRTOS静态与动态内存分配)

freertos 静态内存大小

https://www.freertos.org/Static_Vs_Dynamic_Memory_Allocation.html

介绍

V9.0.0之前的FreeRTOS版本从特殊的FreeRTOS堆中分配下面列出的RTOS对象使用的内存。 FreeRTOS V9.0.0及更高版本使应用程序编写者可以自己提供内存,从而可以选择创建以下对象,而无需动态分配任何内存:

使用静态还是动态内存分配是更可取的,取决于应用程序以及应用程序编写者的偏好。 两种方法都有优点和缺点,并且两种方法都可以在同一RTOS应用程序中使用。

位于FreeRTOS主下载目录的FreeRTOS / Source / Win32-MSVC-Static-Allocation-Only目录中的简单Win32示例演示了如何创建FreeRTOS应用程序而无需在项目中包含任何FreeRTOS堆实现。

使用动态分配的RAM创建RTOS对象

动态创建RTOS对象的好处是更加简单,并有可能最大程度地减少应用程序的最大RAM使用量:

如果configSUPPORT_DYNAMIC_ALLOCATION设置为1或未定义,以下API函数将使用动态分配的RAM创建RTOS对象:

使用静态分配的RAM创建RTOS对象

使用静态分配的RAM创建RTOS对象的好处是为应用程序编写器提供了更多控制权:

下列API函数(如果configSUPPORT_STATIC_ALLOCATION设置为1时可用)允许使用应用程序编写器提供的内存创建RTOS对象。为了提供内存,应用程序编写者只需要声明一个适当对象类型的变量,然后将变量的地址传递给RTOS API函数即可。提供了StaticAllocation.c标准的演示/测试任务来演示如何使用这些功能:

,