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
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.