# Do I need to provide static memory allocators?

**URL:** <https://forums.freertos.org/t/do-i-need-to-provide-static-memory-allocators/19522>\
**Category:** Kernel\
**Tags:** debug\
**Created:** [March 11, 2024, 10:56pm UTC](https://forums.freertos.org/t/do-i-need-to-provide-static-memory-allocators/19522 "2024-03-11T22:56:53Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rocketmagnet](https://avatars.discourse-cdn.com/v4/letter/r/da6949/32.png) [@Rocketmagnet](https://forums.freertos.org/u/Rocketmagnet)\
**Post date:** [March 11, 2024, 10:56pm UTC](https://forums.freertos.org/t/do-i-need-to-provide-static-memory-allocators/19522/1 "2024-03-11T22:56:53Z")

</div>

I’m a bit confused if I should provide `vApplicationGetIdleTaskMemory()` etc.

According to [FreeRTOS - The Free RTOS configuration constants and configuration options - FREE Open Source RTOS for small real time embedded systems](https://www.freertos.org/a00110.html) I should provide this function if `configSUPPORT_STATIC_ALLOCATION` is set to 1.

However, looking in the source, tasks.c seems to provide this function! (Line 8651 in my copy). Does that mean I don’t need to provide it? Is that document out of date?

Many thanks  
Hugo

---

<div class="post-metadata">

**Author:** ![rtel](https://d3iykfbgfh8zhg.cloudfront.net/user_avatar/forums.freertos.org/rtel/32/31_2.png) [@rtel](https://forums.freertos.org/u/rtel)\
**Post date:** [March 12, 2024, 12:07am UTC](https://forums.freertos.org/t/do-i-need-to-provide-static-memory-allocators/19522/2 "2024-03-12T00:07:51Z")

</div>

There is an option for the kernel to provide the memory for you if [configKERNEL\_PROVIDED\_STATIC\_MEMORY](https://freertos.org/a00110.html#configKERNEL_PROVIDED_STATIC_MEMORY) is also set to 1. See [FreeRTOS-Kernel/tasks.c at main · FreeRTOS/FreeRTOS-Kernel · GitHub](https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/tasks.c#L8555)

---

<div class="post-metadata">

**Author:** ![aggarg](https://d3iykfbgfh8zhg.cloudfront.net/user_avatar/forums.freertos.org/aggarg/32/4245_2.png) [@aggarg](https://forums.freertos.org/u/aggarg)\
**Post date:** [March 12, 2024, 9:58am UTC](https://forums.freertos.org/t/do-i-need-to-provide-static-memory-allocators/19522/3 "2024-03-12T09:58:46Z")

</div>

> [@Rocketmagnet](#):
>
> I’m a bit confused if I should provide `vApplicationGetIdleTaskMemory()` etc.

You have 2 options -

1. Use the kernel provided implementation of vApplicationGetIdleTaskMemory - Set configKERNEL\_PROVIDED\_STATIC\_MEMORY to 1 for this case.
2. Supply your own implementation of vApplicationGetIdleTaskMemory - Do not define configKERNEL\_PROVIDED\_STATIC\_MEMORY and provide your implementation of vApplicationGetIdleTaskMemory.

---

<div class="post-metadata">

**Author:** ![OliM](https://avatars.discourse-cdn.com/v4/letter/o/f04885/32.png) [@OliM](https://forums.freertos.org/u/OliM)\
**Post date:** [May 12, 2026, 1:44pm UTC](https://forums.freertos.org/t/do-i-need-to-provide-static-memory-allocators/19522/4 "2026-05-12T13:44:53Z")

</div>

I ran into the same situation today. maybe the option configKERNEL\_PROVIDED\_STATIC\_MEMORY could be mentioned directly here instead of only the templates?  
[Customization - FreeRTOS™](https://www.freertos.org/Documentation/02-Kernel/03-Supported-devices/02-Customization#configsupport_static_allocation)

---

<div class="post-metadata">

**Author:** ![kanherea](https://d3iykfbgfh8zhg.cloudfront.net/user_avatar/forums.freertos.org/kanherea/32/4106_2.png) [@kanherea](https://forums.freertos.org/u/kanherea)\
**Post date:** [May 13, 2026, 11:46pm UTC](https://forums.freertos.org/t/do-i-need-to-provide-static-memory-allocators/19522/5 "2026-05-13T23:46:11Z")

</div>

Done: [Customization - FreeRTOS™](https://www.freertos.org/Documentation/02-Kernel/03-Supported-devices/02-Customization#configkernel_provided_static_memory)!
