STM32MP1 support available in SW4STM32

   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 download a short video showcasing this on the ac6-tools website (registration required).

System Workbench for STM32

[Solved] syscalls.c problem in STM32F429I-Discovery STemWin SampleDemo


My environment has a Win7/64, Java 7u80, System WorkBench v1.3.

So far I can work with all the SW4STM32 Cube examples but I happen to found a problem.

In STM32Cube_FW_F4_V1.8.0 Applications on STemWin SampleDemo example, there seems to be a problem with syscalls.c, I get almost immedialy after I click build

arm-none-eabi-gcc: error: ../syscalls.c: No such file or directory
make: *** Middlewares/STemWin/Config/GUIConf.o Error 1

bear in mind that I have not changed in any way the project or the CubeF4, it is just unpacked and project imported.
Also, the syscalls.c file is there and shown on the project explorer.

It looks to me like a strange System Workbench for STM32 bug.

Anyone has any hints? Anyone has this example build succesfully?



Same problem as you, same configuration except “STM32Cube_FW_F4_V1.7.0”.
I could not install 1.8.0 due to some MD5 error after download (on 2 diffrent PCs).

This is the project

Sorry for not being more helpful.

Possibly, if we are starting with a clean, new project and add all files than will compile.

Some things that are strange:
- linker file is for F429NIH mcu but discovery has F429ZIT.
- I don’t think this line is correct “....Src/GUIConf.c” “../syscalls.c”

18:00:35 **** Build of configuration Debug for project STM32F429I_DISCO_MB1075 ****
make all
‘Building file: D:/ST/STM32Cube_FW_F4_V1.7.0/Projects/STM32F429I-Discovery/Applications/STemWin/STemWin_SampleDemo/Src/GUIConf.c’
‘Invoking: MCU GCC Compiler’
arm-none-eabi-gcc -mthumb -mfloat-abi=soft -DSTM32F429xx -DUSE_STM32F429I_DISCO -I......\Inc -I......\Demo -I................\Drivers\CMSIS\Device\ST\STM32F4xx\Include -I................\Drivers\CMSIS\Include -I................\Drivers\STM32F4xx_HAL_Driver\Inc -I................\Drivers\BSP\STM32F429I-Discovery -I................\Middlewares\ST\STemWin\inc -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -Wno-unused-variable -Wno-pointer-sign -Wno-main -Wno-format -Wno-address -Wno-unused-but-set-variable -Wno-strict-aliasing -Wno-parentheses -Wno-missing-braces -MMD -MP -MF”Middlewares/STemWin/Config/GUIConf.d” -MT”Middlewares/STemWin/Config/GUIConf.o” -o “Middlewares/STemWin/Config/GUIConf.o” “D:/ST/STM32Cube_FW_F4_V1.7.0/Projects/STM32F429I-Discovery/Applications/STemWin/STemWin_SampleDemo/Src/GUIConf.c” “../syscalls.c”
arm-none-eabi-gcc: error: ../syscalls.c: No such file or directory
make: *** Middlewares/STemWin/Config/GUIConf.o Error 1

18:00:36 Build Finished (took 625ms)

There has to be some weird issue with SystemWorkbench.

I hope someone from AC6 team can give us some insight here or if someone that has this project compiled ok.



This is not an issue with System Workbench; regretfully, this is due to a known bug in ST CubeMX, which is used to generate the demo projects in ST Firmwares.

We have isolated the bug and ST is working on correcting it; it should be OK in the next release of CubeMX but, then, you will have to wait for a release of the firmware package. Too bad we don’t find an easy workaround...


Hi Bernard,
Thanks for taking the time to look at the post here.

FYI, I manage to solve it.
and the solution is quite easier than I expected.

1. Just drag-and-drop the syscalls.c file from its place to ‘Application’ -> ‘User’ folder.

it simply should not reside in project root, for some reason systemWorkbench make subsystem des not work with it there.
Then the compile starts and goes up to linking stage, then it stops with a library missing

2. Add the file system path of STemWin528_CM4_GCC.a library in settings

then, upon build project again it goes ok and debugger starts, uploads firmware and application runs succesfully on the board.

I do not know for sure if that is a SystemWorkbech issue or a CubeMX, but it looks like SW to me.

In any case, I really like the SW4STM32, its my only IDE now and works good with fine debugging.
I hope you can make some use of the above information to make a good product even better :-).



BTW, it works ok in an WinXP installation that I have and of course in the Win7/64

Thanks for hint.

I can confirm the solution. Works for STM32Cube_FW_F4_V1.7.0 and STM32Cube_FW_F4_V1.8.0

On my project it was not necessary to add the library to the Linker section. The link was already there and the only thing to do it was to move the syscall.c