Watch Richard Barry's 2021 talk on future proofing MCU devices.
Statically Allocated FreeRTOS Reference Project
RTOS objects, such as tasks, queues, semaphores and software timers, can be created
using automatically allocated RAM, or pre-allocated (statically allocated) RAM.
The following pages provide more details:
This page documents a reference project that demonstrates FreeRTOS being used
with configSUPPORT_DYNAMIC_ALLOCATION set to 0 - so with all the RTOS objects being
created using pre-allocated (potentially statically allocated) RAM, and without
building any of the FreeRTOS heap implementations. The reference uses the
FreeRTOS Windows port,
so it can be built and executed without the need for any specific embedded
If you have not done so already, download
and unzip the official FreeRTOS distribution.
Start Visual Studio, then use the File|Open|Project/Solution menu item
to open the Win32.sln solution file, which is located in the
FreeRTOS/Demo/WIN32-MSVC-Static-Allocation-Only directory of the official FreeRTOS
Read the comments in main.c, before compiling and then
either debugging or running the application.
The output produced by the 100% statically allocated FreeRTOS
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.