.. _sec-freertos-overview:

FreeRTOS (RTOS Kernel) Overview
===============================

.. warning::
            FreeRTOS support on SimpleLink devices is currently offered  
            as a preview and is still under development.

FreeRTOS is an open-source, real-time operating system kernel for embedded
devices. It implements a minimalist set of functions, basic task handling and
memory management.

The FreeRTOS kernel has the following characteristics:
  * Preemptive tasks
  * Small footprint
  * Written in C and compiled with various C compilers
  * Unlimited number of tasks can run at the same time
  * Implements queues, binary and counting semaphores, and mutexes
  * Inter-task communication is accomplished using queues

The |SDK| provides support for FreeRTOS but does not install FreeRTOS. In other 
words, the FreeRTOS kernel is not bundled into the |SDK|. You'll need 
to download FreeRTOS from |FREERTOS_WEB|. Please refer to the 
<SimpleLink_SDK_Install_Dir>/docs/Documentation_Overview.html file to find
the release notes for the recommended version.

.. caution:: 
            The information in this guide is provided for reference and is not
            intended to fully cover every aspect of FreeRTOS. Please refer to
            the |FreeRTOS HOME| as your primary source of documentation with
            regards to FreeRTOS. |FreeRTOS HOME| contains detailed explanations
            and code examples of the constructs briefly discussed in this guide.


.. toctree::
    /freertos/config.rst
    /freertos/power.rst
    /freertos/rov.rst
    /freertos/tasks.rst
    /freertos/software-timers.rst
    /freertos/queues.rst
    /freertos/synchronization.rst
    /freertos/migration-cc23xx.rst
