2025-03-03 4:16 PM - edited 2025-03-04 5:30 AM
Hi,
I just updated CubeIDE/CubeMX, and after creating a new project, I began configuring the microcontroller. However, when I tried to install FreeRTOS, it didn’t seem to be available. In the older version of CubeMX, there was a FreeRTOS option under Middleware (as shown in the first screenshot from a video), but it appears to be missing now. I did find X-CUBE-FREERTOS, but it doesn’t seem to offer any options like CMSIS_V1 or CMSIS_V2 or any ther very many parameters that FreeRTOS that in the previous version were available.
What happened?
1. Is that X-CUBE-FREERTOS, the only or perhaps the preferred option to use/install hrough MX?
2. How do I select CMSIS_V1 or CMSIS_V2 and all other parameters like in the older configurator (third screenshot)?
3. Are all ST libraries that rely on FreeRTOS now using X-CUBE-FREERTOS?
Thanks you :)
Ricko
Solved! Go to Solution.
2025-03-05 1:37 AM
Hello @Ricko ,
In answer to your question, Some STM32 series support Freertos and others support X-Cube-Freertos.
With Freertos, users can select either CMSIS V1 or CMSIS V2.
Whereas with x-cube-freertos , CMSIS RTOS 2 is set as default.
Thanks.
Mahmoud
2025-03-04 11:51 PM
Hello @Ricko ,
First let me thank you for posting.
You need to enable X-CUBE-FREERTOS in STM32CubeMX:
Click [Select Components] under the [Software Packs] menu.
Scroll down in the list and select [ST Microelectronics.X-CUBE-FREERTOS]. In case it is not installed, or you would need to use a different version, install it first using the [Install] button within the [Selection] column.
I suggest also that you take a look at this article: How to use STM32U5 with FreeRTOS™ in tickless mode - STMicroelectronics Community
Thanks.
Mahmoud
2025-03-05 1:37 AM
Hello @Ricko ,
In answer to your question, Some STM32 series support Freertos and others support X-Cube-Freertos.
With Freertos, users can select either CMSIS V1 or CMSIS V2.
Whereas with x-cube-freertos , CMSIS RTOS 2 is set as default.
Thanks.
Mahmoud
2025-03-05 3:54 PM
Thank you @Mahmoud Ben Romdhane
what is the difference (generally and in API)?
Where can I find a document or video explaining the difference?
Thank you :)