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

How to reset target MCU during debugging

It is possible to do a reset without having to reload your application, although there are some issues you will have to deal with if you use the approach I describe below.

To perform a target reset, first halt your application, then select the Console window (typically located at the bottom of the Eclipse UI), then enter this command in the Console window:

monitor reset halt

This will reset the target and stop the application at the very first instruction, which is usually the pre-main() C startup assembly code.

Note that the source level debugger display will NOT update automatically after issuing the reset command. However, if you hit one of the single-step buttons (e.g. F6, Step Over) the source debug display will update.

You will then probably want to switch the debug display to your main() and either highlight the first code line of main() and hit Ctrl-R (Run To Line) or set a breakpoint on it and hit F8 (Resume).

From this point you should be able to debug your application normally.

I am not certain if “monitor reset halt” does a full hardware MCU reset, or just restarts the application at the reset vector without fully resetting the MCU.