Electrical – Atollic + STM32F4 + ST-Link v2 connection problem “Unknown MCU found on target”

gdbstst-linkstm32f4stm32f4-discovery

I currently have a problem with the connection between the debugger ST-Link V2, ARM Atollic 8.0.0 and a custom board with STM32F469. The Atollic and the ST-Link utility believe the Target is halted (and can't load programs or debug), the ST-LINK_gdbserver and the ST-Link utility can't recognize the target device but the ST-Link Utility seems to be able to connect to the debugger with the Hot Plug mode, although a Read Out protection was somehow enabled, and can't erase flash.

When trying to start a debug section, the Atollic console shows the following:

Target not halted

Error in initializing ST-Link device. Reason: Target not halted.

While a message box with the following warning appears:

"Error message from debugger back end: localhost:2000: The system
tried to join a drive to a directory on a joined drive.
"

The Atollic settings are the default ones. I also tried changing the gdb server port to 2000, but still the same result.

This error doesn't allow the debugging or loading of .elf files. I already tried to do the following:

  • Turned the ST-Link on and off.
  • Turned the computer on and off.
  • Updated the ST-Link firmware.
  • Updated the computer drivers for the debugger.
  • Tried the ST-Link_gdbserver server and client
  • Installed ST-Link utility
  • Tried erasing the FLASH memory (Utility popped error saying "Read out memory enabled" and can't enter "Connect Under Reset" mode)
  • Tried reprogramming the board, but it showed me "The elf loader file
    is not accessible." (Since Atollic only outputs .elf files, I
    tried saving a .hex file from the STM32 ST-LINK Utility, and used
    that one)

  • Tried the ST-Link_CLI interface

After this, I also tried to run the ST-Link_gdbserver to see if I could get a different response, but all I got was the following:

"Target unknown MCU target

Error in initializing ST-Link device Reason: Unknown MCU found on
target
"

On the other hand, when trying the ST-Link utility, when running from "Normal" or "Connect Under Reset" mode, the utility pops a message saying stating:

"14:53:37 : Can not connect to target!
Please select "Connect Under Reset" mode from Target->Settings menu and try again.
If you're trying to connect to a low-frequency application, please select a lower SWD Frequency mode from
Target->Settings menu. 14:53:41 : Can't halt the core"

But, when running on Hot Plug mode, a connection is made available. What's interesting is that the Device ID is not recognized, nor is the Device Family.

Although the FLASH memory cannot be erased due to a Read Out Protection, this read out protection cannot be disabled with "Option Bytes", an error message pops up stating

"Could not set Option Bytes!, Please reset the target and retry"

I believe the debugger can't recognize the MCU, and therefore a read out protection is interpreted somehow.

I don't currently have access to the hardware connection between the ST-Link and the board, so, besides from a bad connection, I'm not sure what could be wrong.

In short, I'm unable to read or write the MCU, I get "Can't halt the core", "Unknown MCU found on target" and "The system tried to join a drive to a directory on a joined drive" errors from different software.

Im running on Windows, Atollic 8.0.0, STM32 ST-LINK Utility v4.1.0.0, STLINKUSBDriver.dll v5.0.2.0, ST-LINK_CLI v3.1.0.0

ST Link Utility

ST-Link_gdbserver

Best Answer

BTW! I solved the problem by installing MDK 5 and loaded a program into the MCU.

Thanks so much Vangelis for helping

My guess is that there was/is a problem with the GDB server. Something along those lines.