Statically Allocated FreeRTOS Reference Project

Introduction

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 hardware.


Building the Reference Project

  1. If you don’t already have it installed, download and install the free community edition of Microsoft Visual Studio.

  2. If you have not done so already, download and unzip the official FreeRTOS distribution.

  3. 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 distribution.

  4. Read the comments in main.c, before compiling and then either debugging or running the application.


Output generated by statically allocated RTOS project
The output produced by the 100% statically allocated FreeRTOS reference project





Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS v10.2.1 is available for immediate download. MIT licensed, includes 64-bit RISC-V, NXP Cortex-M33 demo & Nuvoton Cortex-M23 demo & STM32H745 dual core (AMP) demo.

New Updates to MIT licensed IoT MQTT and POSIX libraries are now available. Includes demo projects.

View a recording of the “OTA Update Security and Reliability” webinar, presented by TI and AWS.

Careers

FreeRTOS and other embedded software careers at AWS.

FreeRTOS Partners
ARM Connected RTOS partner for all ARM microcontroller cores
Espressif ESP32
IAR Partner
Microchip Premier RTOS Partner
Renesas
STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0
Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers
OpenRTOS and SafeRTOS
Xilinx Microblaze and Zynq partner