Problem Description
When setting up a new STM32CubeIDE project for the ODYSSEY-STM32MP157C board with FreeRTOS CMSIS-RTOS v2 enabled, the project fails to compile with multiple missing header file errors.
Error Messages
fatal error: cmsis_os2.h: No such file or directory
fatal error: freertos_mpool.h: No such file or directory
fatal error: newlib-freertos.h: No such file or directory
fatal error: configRUN_TIME_COUNTER_TYPE: unknown type name
make: *** [makefile:62: all] Error 2
Root Cause
I suspect the STM32Cube FW_MP1 v1.7.0 firmware package (latest available) has an incomplete CMSIS-RTOS v2 implementation:
-
Missing ARM CMSIS-FreeRTOS wrapper header files (
freertos_mpool.h,freertos_os2.h,freertos_evr.h) -
OPENAMP middleware files cannot find the
cmsis_os2.hinclude path -
Missing newlib thread-safety wrapper for FreeRTOS
Any help would be appreciated. Has anyone else encountered this issue? Please share your experience in the comments below.