Quality RTOS & Embedded Software

New FreeRTOS Long Term Support version now available.
FreeRTOS Extended Maintenance Program (EMP) registration now open.
FreeRTOS-Plus-TCP v3.0.0 released:
Featured FreeRTOS IoT Integrations:
Delta Over-the-Air Updates:

API Usage

Selecting the API to Use

  • Only those API functions specifically designated for use from within an ISR should be used from within an ISR.

  • Tasks and co-routines use different API functions to access queues. A queue cannot be used to communicate between a task and a co-routine or vice versa.

  • Intertask communication can be achieved using the full featured API functions, the alternative API functions, and the light weight API functions (those with "FromISR" in their name).

  • Use of the light weight functions outside of an ISR requires special consideration, as described under the heading "Performance tips and tricks - using the light weight API".

Task API

A task may call any API function listed in the menu frame on the left other than those under the co-routine specific section.

Co-Routine API

In addition to the API functions listed under the co-routine specific section, a co-routine may use the following API calls.
  • taskYIELD() - will yield the task in which the co-routines are running.


  • taskEXIT_CRITICAL().

  • vTaskStartScheduler() - this is still used to start the RTOS scheduler even if the application only includes co-routines and no tasks.

  • vTaskSuspendAll() - can still be used to lock the RTOS scheduler.

  • xTaskResumeAll()

  • xTaskGetTickCount()

  • uxTaskGetNumberOfTasks()

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