2026-05-15 3:12 AM
Hi everyone,
I am working on the STM32MP257-EVAL board, where my Cortex-M33 application requires both FreeRTOS and OpenAMP middleware to run together.
After referring to the STM32CubeMPU packages, I found separate example projects:
One for FreeRTOS
One for OpenAMP (running in bare-metal environment)
I tried combining both examples into a single application. The FreeRTOS part is working correctly, but OpenAMP hangs during initialization.
After debugging, I noticed that libmetal is getting compiled for the generic platform instead of the FreeRTOS platform. To address this, I changed the toolchain configuration from:
-DCMAKE_TOOLCHAIN_FILE=cmake/platforms/stm32mp-generic-gcc.cmake
to:
-DCMAKE_TOOLCHAIN_FILE=cmake/platforms/stm32mp-freertos-gcc.cmake
However, this results in multiple compilation errors. It seems the provided libmetal port may not be fully compatible with the FreeRTOS platform setup.
Has anyone successfully integrated FreeRTOS + OpenAMP together on STM32MP257 (M33 core)?
Are there any reference projects, application notes, or examples available for this combined use case?
Any guidance would be greatly appreciated.
Thanks.
2026-05-28 4:43 AM
Hello,
You can review the the USBPD_DRP_UCSI project
The openamp thread is initialized here:
https://github.com/STMicroelectronics/STM32CubeMP2/blob/main/Projects/STM32MP257F-EV1/Applications/USBPD/USBPD_DRP_UCSI/CM33/NonSecure/FREERTOS/App/app_freertos.c#L221
The OpenAmp thread is managed here
https://github.com/STMicroelectronics/STM32CubeMP2/blob/main/Projects/STM32MP257F-EV1/Applications/USBPD/USBPD_DRP_UCSI/CM33/NonSecure/OpenAMP/Src/openamp_thread.c
Regards,
Arnaud
2026-06-02 1:10 AM
That seems promising let me try and get back to you , Thanks a Lot.
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.