SW4STM32 and SW4Linux fully supports the STM32MP1 asymmetric multicore Cortex/A7+M4 MPUs

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world.
And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4.
You can get more information from the ac6-tools website and download two short videos (registration required) highlighting:

System Workbench for STM32

stmCubeL4 example CSC_Standalone build error

I am trying to build the L4 application example: Applications/USB_Device/CDC_Standalone
and ran into some issues:

Here the error message:

‘Building file: /stmworkspace/STM32Cube_FW_L4_V1.2.0/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c’
‘Invoking: MCU GCC Compiler’
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DUSE_HAL_DRIVER -DSTM32L476xx -DUSE_STM32L476G_EVAL_REVB -DUSE_IOEXPANDER -I../../../Inc -I../../../../../../../../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../../../../../../../../Drivers/STM32L4xx_HAL_Driver/Inc -I../../../../../../../../Drivers/BSP/STM32L476G_EVAL -I../../../../../../../../Drivers/BSP/Components -I../../../../../../../../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I../../../../../../../../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -I../../../../../../../../Drivers/CMSIS/Include -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF”Middlewares/STM32_USBD_Library/Core/usbd_core.d” -MT”Middlewares/STM32_USBD_Library/Core/usbd_core.o” -o “Middlewares/STM32_USBD_Library/Core/usbd_core.o” “/stmworkspace/STM32Cube_FW_L4_V1.2.0/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c”
In file included from ../../../Inc/stm32l4xx_hal_conf.h:239:0,
from ../../../../../../../../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h:48,
from ../../../Inc/usbd_conf.h:33,
from ../../../../../../../../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h:37,
from /stmworkspace/STM32Cube_FW_L4_V1.2.0/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c:29:
../../../../../../../../Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h:662:41: fatal error: stm32l4xx_hal_flash_ramfunc.h: No such file or directory
#include “stm32l4xx_hal_flash_ramfunc.h”

$ ls -l ./STM32Cube_FW_L4_V1.2.0/Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h
Administrators mkpasswd 4392 Nov 24 17:26 ./STM32Cube_FW_L4_V1.2.0/Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h

So I don’t undertstand, Why is it throwing this error?

Any body experienced such problem?


Hello Mat,

Could you check that you have the latest versions of the SW4STM32 installed (Help->Check for updates) ? Your issue looks like a path length problem we had in SW4STM32 and which has been fixed in 1.5.2 for IDE plugin.

Best Regards,



Thanks for the quick response and advice. You were right the IDE was not up to date. I went back to my other machine (which got updated 2 weeks ago and has already OpenSTM32 IDE 1.52 installed.

Much better. The build process goes now beyond that point. Though I ran into another issue which is related to Linux/UNIX case sensitivity.
In usbd.cdc.c line 62 it says:

#include “USBD_DCD.h” which causes the build to fail. The file exists but as “usbd_cdc.h”. After I changed it to
#include “usbd_cdc.h” the build final completed.


Thank you for your feedback, I will open a ticket to fix this bug!