cancel
Showing results for 
Search instead for 
Did you mean: 

Confused about IOC, FreeRTOS, and CMSIS_OS2

jlthompson
Associate III

Please enlighten me. I added FreeRTOS to my STM32CubeIDE project using IOC. I discovered that I had to choose either CMSIS_V1 or CMSIS_V2 as the FreeRTOS Mode, else FreeRTOS would not be included. I chose CMSIS_V2. I then noticed the FreeRTOS Configuration pane and added a task, timer, and Queue. Upon finding the generated code, I noticed they are created with osThreadNew, osTimerNew, , and osMessageQueueNew. I was expecting xTaskCreateStatic, xTimerCreateStatic, and xQueueCreateStatic instead.

Are the three set of functions somehow the same, or is one a wrapper for the other, or what? Can I still use the FreeRTOS Reference Manual, or do need to find and consult the CMSIS_V2 OS manual instead? Or, maybe I did something wrong.

1 ACCEPTED SOLUTION

Accepted Solutions
mƎALLEm
ST Employee

Hello,

CMSIS_V1 and CMSIS_V2 are CMSIS wrappers for RTOS implementation. So the application is RTOS agnostic. See CMSIS-RTOS2.

To my knowledge you can still use FreeRTOS APIs but I don't have idea about the impact.

So I recommend to use CMSIS wrappers to prevent any issue.

You can inspire from the examples provided for FreeRTOS in github: https://github.com/STMicroelectronics/STM32CubeF4/tree/master/Projects/STM324xG_EVAL/Applications/FreeRTOS

Hope it helps.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

View solution in original post

1 REPLY 1
mƎALLEm
ST Employee

Hello,

CMSIS_V1 and CMSIS_V2 are CMSIS wrappers for RTOS implementation. So the application is RTOS agnostic. See CMSIS-RTOS2.

To my knowledge you can still use FreeRTOS APIs but I don't have idea about the impact.

So I recommend to use CMSIS wrappers to prevent any issue.

You can inspire from the examples provided for FreeRTOS in github: https://github.com/STMicroelectronics/STM32CubeF4/tree/master/Projects/STM324xG_EVAL/Applications/FreeRTOS

Hope it helps.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.