How to implement CMSIS RTOS v2 Task Notification
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-02-25 8:07 PM
Hi all,
I want to ask how to use/implement the FreeRTOS task notifications (https://www.freertos.org/RTOS-task-notifications.html)?
I cannot find any of the CMSIS v2 API to use , even though I already enabled the USE TASK NOTIFICATION option in STM32CubeMX. I must use the v2 API since TouchGFX is using this too...
Any helps are appreciated!
- Labels:
-
FreeRTOS
-
STM32CubeMX
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-02-26 12:38 AM
CMSIS is necessarily limited to a few essential OS functionalities. It will never be able to provide all the specific functionalities of each OS. So use the native OS API for these functions.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-02-27 6:15 AM
Overall I do agree, but in this particular case there is a thread flag API, which should be implemented based on FreeRTOS task notifications:
https://www.keil.com/pack/doc/CMSIS/RTOS2/html/group__CMSIS__RTOS__ThreadFlagsMgmt.html
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-03-02 8:36 PM
Does that mean the thread flag API is a renamed of FreeRTOSes "task notification"?
I checked that the CMSIS v2 Thread Flags API uses FreeRTOS Task Notifications
- xTaskNotifyFromISR
- xTaskNotifyAndQueryFromISR
If this was the case, then the naming from TaskNotify to Thread Flag is a bit different then the conventional naming in CMSIS v2.
However I am glad that I wont need to change much of the code to implement task notification.
Normally you'd find the same name in both the APIs, xSemaphoreGive and osSemaphoreRelease.
But this time its TaskNotify to ThreadFlag ...
