What is FreeRTOS?

FreeRTOS

FreeRTOS is a reliable, open source real-time operating system and RTOS market leader for microcontroller and small microprocessors. It is optimized for embedded usage and provides basic functionalities for scheduling, memory management and inter-task communications. It is based on a microkernel architecture and therefore provides mechanisms like low-level address space management, task management, inter-process communication and the applications can access the hardware more or less independent of the kernel. FreeRTOS is a scalable real-time kernel designed specifically for small embedded systems. Besides that, it is open source with GPL and royality-free, it has features like:

  • FreeRTOS scheduler - preemptive, cooperative and hybrid configuration options, with optional time slicing.
  • RTOS objects (tasks, queues, semaphores, software timers, mutexes and event groups) can be created using either dynamically or statically allocated RAM.
  • FreeRTOS-MPU supports the ARM Cortex-M3 Memory Protection Unit (MPU).
  • Designed to be small, simple, and easy to use. Typically, a RTOS kernel binary image will be in the region of 4K to 9K bytes.
  • Mutexes with priority inheritance.
  • Efficient software timers.
  • Powerful execution trace functionality.
  • Stack overflow detection options.