Are there some large structs/buffers in FreeRTOS that are appropriate to place in fast RAM?

The microcontroller I’m currently working with has TCM (tightly coupled memory) and it’s used for DMA-buffers today, but this memory really isn’t appropriate for that so the plan is to move the DMA buffers and put something else (up 128 kB) in there. Does FreeRTOS has some large structs or buffers that would be extra appropriate to place in fast RAM?

Task stacks maybe along with the rather small task control blocks could be placed there easily when creating tasks Static.


The declarations of variables used by the kernel is decorated with the PRIVILEGED_DATA macro so they can be placed in memory protected regions. You could also use that to place the kernel data in fast RAM.

1 Like

Most of the stuff FreeRTOS will be accessing will only be accessed on a rescheduling, which shouldn’t be that often. You would hope that most of the time will be spent in application code.

That is why putting task stacks in fast RAM will be the biggest win.