2022-07-05 10:14 AM
Hello,
When trying to do a debug session onto these different STM32H7 devices:
we are receiving the error
with the following console statements:
SEGGER J-Link GDB Server V7.62a Command Line Version
JLinkARM.dll V7.62a (DLL compiled Feb 23 2022 16:58:13)
Command line: -port 2331 -s -device STM32H753II -endian little -speed 12000 -if swd -vd
-----GDB Server start settings-----
GDBInit file: none
GDB Server Listening port: 2331
SWO raw output listening port: 2332
Terminal I/O port: 2333
Accept remote connection: localhost only
Generate logfile: off
Verify download: on
Init regs on start: off
Silent mode: off
Single run mode: on
Target connection timeout: 0 ms
------J-Link related settings------
J-Link Host interface: USB
J-Link script: none
J-Link settings file: none
------Target related settings------
Target device: STM32H753II
Target interface: SWD
Target interface speed: 12000kHz
Target endian: little
Connecting to J-Link...
J-Link is connected.
Firmware: J-Link V10 compiled Nov 2 2021 12:14:50
Hardware: V10.10
S/N: 50100143
Feature(s): GDB
Checking target voltage...
Target voltage: 3.31 V
Listening on TCP/IP port 2331
Connecting to target...
Connected to target
Waiting for GDB connection...Connected to 127.0.0.1
Reading all registers
Read 4 bytes @ address 0x08049122 (Data = 0x4B09681A)
Received monitor command: WriteDP 0x2 0xF0
O.K.
Read 4 bytes @ address 0x24066F48 (Data = 0x00000001)
Read 4 bytes @ address 0x24066A68 (Data = 0x24065DE0)
Reading 32 bytes @ address 0x24066ECC
Reading 32 bytes @ address 0x240116B8
Reading 516 bytes @ address 0x240116B4
Reading 32 bytes @ address 0x24029A18
Reading 516 bytes @ address 0x24029A14
Reading 32 bytes @ address 0x240660B0
Reading 516 bytes @ address 0x240660AC
Reading 32 bytes @ address 0x240207A8
Reading 516 bytes @ address 0x240207A4
Reading 32 bytes @ address 0x2400A448
Reading 516 bytes @ address 0x2400A444
Reading 32 bytes @ address 0x24024878
Reading 516 bytes @ address 0x24024874
Reading 32 bytes @ address 0x24066EE0
Reading 32 bytes @ address 0x240072A8
Reading 516 bytes @ address 0x240072A4
Reading 32 bytes @ address 0x240169F8
Reading 516 bytes @ address 0x240169F4
Reading 32 bytes @ address 0x24018398
Reading 516 bytes @ address 0x24018394
Reading 32 bytes @ address 0x24017AC8
Reading 516 bytes @ address 0x24017AC4
Reading 32 bytes @ address 0x24016128
Reading 516 bytes @ address 0x24016124
Reading 32 bytes @ address 0x24066EFC
Reading 32 bytes @ address 0x24066F28
Reading 32 bytes @ address 0x24014058
Reading 516 bytes @ address 0x24014054
Reading 32 bytes @ address 0x24019468
Reading 516 bytes @ address 0x24019464
Reading 32 bytes @ address 0x24019D38
Reading 516 bytes @ address 0x24019D34
Reading 32 bytes @ address 0x2401E6D8
Reading 516 bytes @ address 0x2401E6D4
Reading 32 bytes @ address 0x2401A608
Reading 516 bytes @ address 0x2401A604
Reading 32 bytes @ address 0x2400B518
Reading 516 bytes @ address 0x2400B514
Reading 32 bytes @ address 0x24028948
Reading 516 bytes @ address 0x24028944
Reading 32 bytes @ address 0x24009378
Reading 516 bytes @ address 0x24009374
Reading 32 bytes @ address 0x2400F5E8
Reading 516 bytes @ address 0x2400F5E4
Reading 32 bytes @ address 0x24013788
Reading 516 bytes @ address 0x24013784
Read 4 bytes @ address 0x24066F44 (Data = 0x00000000)
Reading 32 bytes @ address 0x24066A6C
Reading 32 bytes @ address 0x24065DE4
Reading 516 bytes @ address 0x24065DE0
Received monitor command: ReadAP 0x2
O.K.:0x00000000
Reading 32 bytes @ address 0xE00FFFD0
Reading 32 bytes @ address 0xF0000FD0
WARNING: Failed to read memory @ address 0xF0000FD0
WARNING: Failed to read memory @ address 0xF0000FD0
WARNING: Failed to read memory @ address 0xF0000FEF
GDB closed TCP/IP connection (Socket 1084)
Restoring target state and closing J-Link connection...
Shutting down...
We are able to connect most of the time, but there are times when we have to re-start the debugger 5+ times of getting this error before it will finally attach. We have tried a Segger J-Link Base / Plus / Pro and all exhibit the same issue. We have also tried different programming speeds (console captured w/ 12000khz)
Is this an issue on Segger's side, or is this an issue with STM32CubeIDE trying to verify the ID of the STM?
Extra info:
Thanks,
Marshall
2022-07-06 04:21 AM
Is the device on a devboard, or a custom board?
If custom board, is it a new design, or something well tested and known-working?
Have you ever had this working before?
Have you checked the wiring carefully - including things like grounds?
Does the Target Sleep, and/or disable the debug access pins?
Have you tried with, say, an ST-Link?
Have you tried a different debugger/programmer; eg, Segger's own tools?
Segger have a page on diagnosing J-Link connection issues:
2022-07-06 05:58 AM
Is the device on a devboard, or a custom board?
Custom Board
If custom board, is it a new design, or something well tested and known-working?
Have you ever had this working before?
New Design, however this same exact layout works on many of our other STM32-based products. I also mentioned in the opening thread that it does connect, and i am able to debug / step / breakpoint / live expression / reset / etc. without issue, once it gets past the issue of "Verify ST device".
Have you checked the wiring carefully - including things like grounds?
Yes. We are using a Tag-Connect (and not our first product that does, and same header works on all of our other products)
Does the Target Sleep, and/or disable the debug access pins?
Yes, the target can go to sleep (Standby with D2 and D3 shutoff / RTC On) for the STM32H743 / STM32H753, but the STM32H7A3 unit does not go to sleep... and both exhibit the same issue.
Have you tried with, say, an ST-Link?
Yes, i have just tried it with an ST-Link V3 and it has not experienced the same issue. I was able to Terminate and Relaunch 10x with no issue.
Have you tried a different debugger/programmer; eg, Segger's own tools?
Yes, and it connects just fine every time using Segger J-Link Flash / GDB Server... however, if used in conjunction with STM32CubeIDE, the IDE cannot always connect (Sometimes it will, sometimes not)
2022-07-06 06:10 AM
> it connects just fine every time using Segger J-Link Flash / GDB Server... however, if used in conjunction with STM32CubeIDE
IIRC this issue was already mentioned here. CubeIDE does not work well with some J-LINKs or some firmware versions, or only with certain MCUs ?
2022-07-06 06:23 AM
Maybe worth trying with Segger's Ozone debugger, then?
https://www.segger.com/products/development-tools/ozone-j-link-debugger/
I can confirm that it works with executables built by STM32CubeIDE.
2022-07-06 06:24 AM
Might also be worth checking on the Segger forums
2022-07-06 06:37 AM
Thanks for the info on Ozone. I have installed and it seems to work... however it is not as feature-rich as STM32CubeIDE.
But, since it does work just fine in Ozone, i believe that may point my original issue back to STM32CubeIDE as the main issue?