FreeRTOS

Executes Tasks in Embedded Systems with Predictability and Determinism

A Real-time operating system (RTOS) is an operating system that executes tasks with predictability and determinism. It is designed to execute tasks in a quick and effective manner. RTOS has a small footprint which makes it suitable for embedded systems, particularly for mission or safety critical systems.

The FreeRTOS open-source project is one of the market leading RTOS available today. Lattice Semiconductor offers FreeRTOS for its RISC-V RX embedded processor. The FreeRTOS software, which includes the FreeRTOS kernel and set of libraries are included in from Lattice Propel 2022.1 onwards. The FreeRTOS software is distributed under MIT license. Refer to FreeRTOS™ Website for further information.

Fixed Priority Pre-emptive Scheduling with Time Slicing - The FreeRTOS kernel implements “Fixed Priority Pre-emptive Scheduling with Time Slicing” scheduling algorithm. The scheduler does not change a task’s priority (hence fixed priority) but does allow user to do so. It supports task pre-emption where a higher priority task (that is ready) can pre-empt a lower priority task. When scheduling ready tasks of equal priority, a time slicing algorithm ensures switching between those tasks on every OS tick.

Implements Idle task with lowest priority - FreeRTOS automatically creates the idle task (with lowest priority) to ensure there is at least one task ready to execute. When there are other user tasks that are ready to execute, the idle task will yield.

Features

  • Support 2K bytes task stack size on default configuration
  • Support FreeRTOS total heap size at 10 Kbytes on default configuration
  • FreeRTOS in Propel supports RISC-V RX processor variant
  • Devices including the Avant-E, MachXO5-NX, Certus-NX, CertusPro-NX, CrossLink-NX are supported

Block Diagram

Documentation

Quick Reference
TITLE NUMBER VERSION DATE FORMAT SIZE
Select All
FreeRTOS - User Guide
FPGA-IPUG-02225 1.0 4/18/2023 PDF 557.9 KB

*By clicking on the "Notify Me of Changes" button, you agree to receive notifications on changes to the document(s) you selected.