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

Semihosting with OpenSTM32 and STM32F446RE Nucleo


you need to:

  1. add “-specs=rdimon.specs -lc -lrdimon” to (Project -> Properties -> C/C++ Build -> Settings -> MCU GCC Linker -> Linker flags)
  2. add extern void initialise_monitor_handles(void); above main
  3. add initialise_monitor_handles(); at the beggening og main function
  4. use printf, putc, puts to output messages via semihosting

Another thing you need to add “monitor arm semihosting enable” to intitialization commands in your debug configuration

Thanks! This helped me.

I needed this to work in the QEMU and the corresponding options to enable semihosting in the emulator are:

“C:\Program Files\GNU ARM Eclipse\QEMU\2.8.0-201612271623-dev\bin\qemu-system-gnuarmeclipse.exe” -verbose -verbose -board STM32F4-Discovery -nographic -d unimp,guest_errors -semihosting --image myimage.elf