Skip to content
Permalink
dd090ff9f8
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

RTOS Abstraction Library

The RTOS Abstraction APIs allow middleware to be written to be RTOS aware, but not need to care about what the actual RTOS is.

What's Included?

The this release of the RTOS Abstraction API includes support for the following:

  • APIs for interacting with common RTOS Features including:
    • Threads
    • Mutexes
    • Semaphores
    • Timers
    • Queues
    • Events
  • Implementations are provided for
    • FreeRTOS
    • RTX (CMSIS RTOS)
    • ThreadX
    • WICED RTOS

What Changed?

v1.6.0

  • Added WICED RTOS support

v1.5.0

  • Added additional parameter validation for ThreadX
  • Removed the explicit in_isr argument from all functions. CPU status registers are used to automatically determine whether a function is executing in an interrupt context.
  • Renamed all functions in order to make grouping more clear. The original function names are deprecated.
  • to make grouping more clear. The original function names are now considered deprecated.

v1.4.0

  • Added new thread functions: cy_rtos_wait_thread_notification and cy_rtos_set_thread_notification
  • Minor documentation updates for clarity

v1.3.1

  • Fixed a couple bugs in the FreeRTOS port

v1.3.0

  • Update to work with a wider range of MCUs
  • Fixed a race condition in the worker thread
  • Fixed possible issue with thread priorities
  • Minor documentation updates

v1.2.2

  • Minor update for documentation & branding

v1.2.1

  • Fixed possible race condition in cy_rtos_join_thread for FreeRTOS
  • Minor documentation updates

v1.2.0

  • Added utility library for for creating background worker threads: cy_worker_thread.h
  • Added support for getting a semaphore's count: cy_rtos_get_count_semaphore()
  • Added support for non-recursive mutexes: cy_rtos_init_mutex2()
  • Added default implementations for FreeRTOS vApplicationGetIdleTaskMemory, vApplicationGetTimerTaskMemory, and vApplicationSleep
  • Added support for ThreadX NOTE: The vApplicationSleep implementation for FreeRTOS depends on the psoc6hal 1.2.0 or later.

v1.1.0

  • Fixed an issue with the FreeRTOS implementation where it would always allocate memory for the thread stack, even if a pre-allocated buffer was provided.
  • Removed usage of assert() and replaced with CY_ASSERT()

v1.0.1

  • Added a new function to get the ID of the currently running thread.
  • A few minor updates to avoid possible warnings depending on compiler.
  • Minor documentation updates

v1.0.0

  • Initial release supporting FreeRTOS & RTX

Supported Software and Tools

This version of the RTOS Abstraction API was validated for compatibility with the following Software and Tools:

Software and Tools Version
ModusToolbox™ Software Environment 2.4.0
GCC Compiler 10.3.1
IAR Compiler 8.4
ARM Compiler 6.11

Minimum required ModusToolbox™ Software Environment: v2.0

More information

Use the following links for more information, as needed:


© Cypress Semiconductor Corporation (an Infineon company) or an affiliate of Cypress Semiconductor Corporation, 2019-2021.