Skip to content

Latest commit

 

History

History
102 lines (95 loc) · 4.8 KB

RELEASE.md

File metadata and controls

102 lines (95 loc) · 4.8 KB

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

What Changed?

v1.9.0

FreeRTOS:

  • Added compatibility with HAL 3.X API changes
  • In vApplicationSleep, enter basic CPU sleep (WFI) if it is not possible to enter tickless (Deep)Sleep.

v1.8.2

FreeRTOS: Fix start and stop of timer from within an ISR

v1.8.1

Extended full support on CAT5.

v1.8.0

Pre-production release for CAT5 only. Only one application thread is supported. The Scheduler API functions are not supported.

v1.7.6

  • FreeRTOS: vApplicationSleep issue fixed where sleep could not be entered in non-deeplseep idle mode.

v1.7.5

  • FreeRTOS: On devices that support DeepSleep, allow the application to specify a separate latency value for DeepSleep and normal Sleep, by defining CY_CFG_PWR_SLEEP_LATENCY.

v1.7.4

  • FreeRTOS: On devices that support DeepSleep-RAM, allow the application to specify a separate latency value for DeepSleep-RAM (vs. DeepSleep), by defining CY_CFG_PWR_DEEPSLEEP_RAM_LATENCY.
  • FreeRTOS: Simplify flow for storing and restoring context during entry/exit from DeepSleep-RAM.

v1.7.3

FreeRTOS: Improve context switching speed when an ISR unblocks a thread.

v1.7.2

Expanded FreeRTOS support for DS RAM

v1.7.1

Explicitly include cmsis_compiler.h where required.

v1.7.0

  • FreeRTOS: When DeepSleep is locked, the default idle loop will attempt to enter Sleep instead.
  • FreeRTOS: Add pre-production support for warm-boot after wake from DeepSleep-RAM power state (currently only present on CAT1B devices).

v1.6.0

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

v1.5.0

  • Added additional parameter validation for ThreadX

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 9.40.2
ARM Compiler 6.16

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