cancel
Showing results for 
Search instead for 
Did you mean: 

Can CubeMX disable CMSIS when Enabling freeRTOS?

Peter3718
Associate III

Hi

It's a disaster that Current CubeMX have to select CMSIS when enabling freertos. many developers use raw freertos API to develop project. The project based on raw freertos api is more compatiable with other MCUs, also they are familar with raw freertos API. I think this option should be reserved for developer. 

Is there any way to use raw freertos api in cubemx?

 

Peter3718_0-1760501201221.png

Peter

1 ACCEPTED SOLUTION

Accepted Solutions

Hello @Peter3718 

I have submitted your change request as internal ticket 219813 to our development team for a feasibility review.

I will keep you posted with updates.

THX

Ghofrane

 

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

6 REPLIES 6
Ghofrane GSOURI
ST Employee

Hello @Peter3718 

You can use the raw FreeRTOS API in CubeMX projects even though CubeMX defaults to the CMSIS-OS wrapper. Simply include the FreeRTOS headers in your application code and use the native FreeRTOS functions as needed. You can ignore  the CMSIS-OS generated files if you don’t need them, but always place your custom code within the designated user code sections to prevent it from being overwritten during code regeneration. 

THX

Ghofrane

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.

@Ghofrane GSOURI 

If so, what's different that i copy the freertos project to my project while disabling freertos in cubemx?This will be clean without CMSIS related files.

Peter

Hello @Peter3718 

You do not need to enable FreeRTOS in CubeMX if your goal is to use only the native FreeRTOS API and you want to avoid unnecessary CMSIS-OS files. The main reasons developers enable FreeRTOS in CubeMX are:

Automatic configuration: CubeMX helps set up tasks, priorities, stack sizes, and other RTOS settings through a graphical interface.
Code generation: CubeMX generates initialization code and integrates FreeRTOS with the STM32 HAL, saving manual setup time.

However, if you are comfortable configuring FreeRTOS yourself and want a clean project without CMSIS-OS files , you can skip enabling FreeRTOS in CubeMX. Instead, manually add and configure FreeRTOS in your project.

 

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.

Hello @Ghofrane GSOURI 

That's why i post this thread!  I want to cubemx do basic freertos comfiguration in GUI and basic code generation working with HAL (If any). 

Peter3718_0-1760546724888.png

I have heard old version had such feature.  Freertos is used so widely, ST shouldn't force developers use CMSIS when they select freertos. Actually, cmsis is rarely used when developer using freertos in project around the world. CMSIS wraps native rtos API, but not all.  it's really bad for developer to reuse their experience or learn the native and the most popular rtos. I do hope ST can add this feature back in the future, leave the option to developers.

Peter  

Hello @Peter3718 

I have submitted your change request as internal ticket 219813 to our development team for a feasibility review.

I will keep you posted with updates.

THX

Ghofrane

 

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.

@Ghofrane GSOURI 

Thanks, hope this can be accepted.

Peter