cancel
Showing results for 
Search instead for 
Did you mean: 

How to update FreeRTOS from V10.3.1 to the latest version V10.4.6 for projects created in STM32CubeIDE?

JMA
Associate

I need to use FreeRTOS 10.4.6 in order to use SystemView. Therefore, I downloaded the new FreeRTOS version and replaced the relevant files in the repository file. However, the "Tool Code Generation" generates a FreeRTOSConfig.h with the old version. I replaced the FreeRTOSConfig.h manually with a file from the demo project. Applying the "Tool Code Generation" replaces the Config file with the old FreeRTOS version. How can I make sure a proper config file exists for my project? "Tool Code Generation" might be applied several times.

1 REPLY 1
mattias norlander
ST Employee

Hi JMA,

CubeMX is integrated into CubeIDE and manages the "code generation".

One version of CubeMX (integrated into CubeIDE) is only shipping one version of FreeRTOS.

CubeMX is awesome for prototyping and moving fast. But when you move from prototype to application code development and want full control over all the software components, then the CDT project type is a more sustainable project format!

If you want to control which versions of a specific middleware that you rely on, then I would not rely on CubeMX to generate that code.

  • Disable FreeRTOS usage in CubeMX and download and provide the FreeRTOS code yourself.
  • I would probably setup FreeRTOS as a static library outside my main application project.
    • It may then be possible to respect the (up-stream) FreeRTOS project folder/file structure which would simplify later pulling an even newer FreeRTOS version with minimum re-work on your side...
  • If you want you can of course use CubeMX to provide you the initial FreeRTOSConfig.h as a starting template.

Feel free to share additional questions/feedback.