Quality RTOS & Embedded Software

KERNEL

API Usage
[API]

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.

  • taskENTER_CRITICAL().

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