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

ac6 cannot debug/program stm32F411RE after update .... yet again.


I update Eclipse as little as possible since it always seems to take a day to get back to a working debugger afterwards. I recently updated to dec 2018 version:

Eclipse Platform

Version: 2018-12 (4.10)
Build id: X20190110-1647

I reinstalled the ac6 workbench and can still build my project files. However, I can not flash the device. I went to Run Configurations | Debug | and see it does not like the config script, so I go through and select a suitable one for my board : an STMF411RE demo board with built in STLINK.


It reports “not able to interpret provided file”.

To get more detail , I accept it anyway and try to run the elf the console reports an error in the script:

nucleo_f411re.cfg:9: Error: Can’t find target/stm32f4x_stlink.cfg in procedure ‘script’

However, this script does exist in the usual location openocd/scripts/target/stm32f4x_stlink.cfg

Clearly this is a false error reporting but how do I get it to accept the script?

Thanks for any help getting this running again.


What do you mean by “it does not like the config script” ? The openocd configuration script should be automatically generated for your target.

See in attachment, the config file generated for my NUCLEO-F411RE project.
Hope it helps.


Thanks, where does that file belong? I don’t see anything with names in capitals like that.

If I take the standard “automatic” feature it fails to connect. I found before if I searched out a config directly it worked but I think there is some more fiddling.


I’ve renamed the file. It was generated in the project directory (as “Project_Name Debug.cfg”)

If you need to use an old config file “openocd/scripts/st_board/nucleo_f411re.cfg”, I think you have to add “-s PATH_TO_OPENOCD/openocd/scripts” (PATH_TO_OPENOCD to replace with the actual path) in the OpenOCD Options to indicate where to find the “target/stm32f4x_stlink.cfg” file.



Thanks Kevin, that got me on the right path ( no pun intended ). I don’t recall using -s before but that did the trick.

OpenOCD Command:
${openstm32_openocd_path}/openocd -s ${openstm32_openocd_legacy_script_root_path}

configuration script:

Many thanks for the prompt help.

Oh, well the joy was short lived. Back to square one.

I restarted eclipse and goes back to the old behaviour even though the above settings are still shown. I actually don’t understand why auto config does not work, since yours apparently does. :?

Here is what is shown in the debug console when using automatic:

Unplugged target or STLink already in use or STLink USB driver not installed
Open On-Chip Debugger 0.10.0+dev-00021-g524e8c8 (2019-04-12-08:33)
Licensed under GNU GPL v2
For bug reports, read
srst_only separate srst_nogate srst_open_drain connect_assert_srst
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 2000 kHz
adapter_nsrst_delay: 100
srst_only separate srst_nogate srst_open_drain connect_assert_srst
Info : clock speed 2000 kHz
Error: libusb_open() failed with LIBUSB_ERROR_ACCESS
Error: open failed (no matching adapter found)
in procedure ‘program’
in procedure ‘init’ called at file “embedded:startup.tcl”, line 495
in procedure ‘ocd_bouncer’
** OpenOCD init failed **
shutdown command invoked


This error message makes me think that the ST-Link is busy (a debug session is already running?). Try to terminate every debug session before running a new one, unplug then replug the ST-Link USB to reload the driver.
Sometimes, if multiple debug session are started on the same target, the OpenOCD executable does not exit well which blocks access for new connection to the ST-Link (You can verify if there is no openocd.exe running in background in the Windows Process Explorer).

Hope it helps,