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

Can't Debug in Engineering Mode using STM32MP157-DK2.

United States

Trying to create a simple application that will toggle LD9 in Engineering Mode but get an error with the OpenOCD.

Output on console window is as follows:

Open On-Chip Debugger 0.10.0+dev-01124-gbfb41e6 (2018-11-16-15:23)
Licensed under GNU GPL v2
For bug reports, read
debug_level: 1
cortex_a interrupt mask on
cortex_a interrupt mask on
cortex_a domain access control fixup on
cortex_a domain access control fixup on
none separate
adapter speed: 5000 kHz
adapter_nsrst_assert_width: 200
adapter_nsrst_delay: 200
none srst_pulls_trst
srst_only srst_pulls_trst srst_gates_jtag srst_open_drain connect_deassert_srst
Error: Could not find MEM-AP to control the core
ap 0 selected, csw 0x10006000
Error: Target not examined yet

undefined debug reason 7 - target needs reset
Error: Target not examined yet
Error: Could not find MEM-AP to control the core
Error: Target not examined yet
embedded:startup.tcl:24: Error:
in procedure ‘stm32mp15x.cpu2’ called at file “embedded:startup.tcl”, line 283
in procedure ‘ocd_bouncer’
at file “embedded:startup.tcl”, line 24
Error: Target not examined yet
Error: Target not examined yet
Error: Target not examined yet
Error: Target not examined yet

Did you find a solution ? Same problem here. STLINK connected with DIO , CLK and GND
Debug As...

Error: Could not find MEM-AP to control the core
ap 0 selected, csw 0x10006000
Error: Target not examined yet

undefined debug reason 7 - target needs reset
Error: Target not examined yet
Error: Target not examined yet
Error: Target not examined yet

Got several weird issues with ST workbench for MP1, running the examples from the MP1Cube package.

1. There was an error in /Debug As.. the Debug button was greyed out. ST workbench reported that ttyUSB0 was not found (see picture)
I could use the serial port with (for example gtkterm) and running that I could see Workbench send data/from the board.
It looked liked STM Workbench was trying to autoconfigure and catch the IP address by issuing ifconfig commands all the time.
As a last resort, before pulling out hairs, just ran Debug As.. and got this (attached pic) “ttyUSB0 not found, replace with ttyUSB0 ? (?)
After that ttyUSB0 was ok in Debug as .. What is the difference between /dev/ttyUSB0 and dev/ttyUSB0  ?

2. When Run /Debug and selected in production mode, the STM workbench complained “cannot run as in “engineering mode”__ ,
Why there is an error for enginereing mode while debugging in production mode ?

3. When Selecting Production mode and (thus not selecting the SWD/JTAG option), disconnecting the ST LINK adapter, then ST Workbench complains it cannot find the ST link adapter. Why would it complain about this about that when not using SWD ?

4. It seems the Serial Port UART, the STLINK V2 adapter, the networked LAN with and IP then ALL must be used with ST workbench to flash te M4, Is that correct ?
Isn’t that a bit overkill just to flash the M4 ?

5. Because getting the reset error (see picture), tried to change to software reset, but then it complains says the scripts has an error (see picture)
” You can modify some OpenOCD options (Connection or Mode Setup) by clicking on Show generator options.. . button:”
The documentation states:
“If you have a custom OpenOCD script or if the script is not detected, you can select another configuration file”’’
but where to find such file ?
( P.s: I can use the “blink” function and the adapter LED will blink so the firmware seems ok)

6. Downloaded the ST-LINK server from the ST website but then it installed without any warning or confirmation request and just downgraded from 1.2 to 1.1.1-3 (see picture) If is older, then why is 1.2 not posted on ST’s website ?

7.Just found that according to ST, the MP1 does not support STLINK
That is not mentioned on DK2 website and confusing while OpenSTM website states to install STLINK.

8. Based on item 7 deselected “shareable STLINK” from the debug As and Run As..configuration . But now when debug or run, the STM Workbech complains STLINK is in use or not installed. (picture) if STLINK is not supported on the MP1, then why such error ?

9. Attached the version info.

It seems the debugging environment has quite some bugs, ambguities or weird things going unless I am doing something really wrong.

There is a full day workshop on 9/24 organized by ac6 in France just how to debug with the MP1. Does that give an indication how hard it is to get the debug environment MP1 to use with ST workbench ? Could that training material be made available on line ? Does anyone have debugging the MP1 Cortex M part working ? Maybe ST could post a video on Youtube how to setup ?

Everything is working now installing reinstalling from scratch using the ST workbench installer instead of using “add new software” in eclipse.

United States

I did not find a solution. Since we have time my plan was to simply wait for STCubeIDE to support the MP1 processor and struggle with it then. As it turns out, the MP1 isn’t the proper solution for our application (our application using TouchGFX).

Seems like you found the solution anyway. Good luck.

Does that mean, that it does not work on Eclipse as a part of the AC6?. So i do not have to wate my time finding a solution to that problem using AC&, and use instead the STM32CubeIDE?

For information, to access “engineering mode” on the STM32MP157C boards, I needed to switch the BOOT0 to OFF and the BOOT2 to ON (SW1)