cancel
Showing results for 
Search instead for 
Did you mean: 

ST-LINKV3 over VirtualHere (USB over IP)

lakins
Associate II

Hello,

I am trying to share ST-LINKV3 over the network and use it from another PC (WSL Ubuntu distro running docker and connecting to ST-LINKV3 via OpenOCD) with VirtualHere program (client and server), but facing this issue:

Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
Info : clock speed 1800 kHz
Info : STLINK V3J17M10B6S1 (API v3) VID:PID 0483:3753
Info : Target voltage: 3.141644
Info : [stm32h7x.cpu0] Cortex-M7 r1p1 processor detected
Info : [stm32h7x.cpu0] target has 8 breakpoints, 4 watchpoints
Info : starting gdb server for stm32h7x.cpu0 on 3333
Info : Listening on port 3333 for gdb connections
[stm32h7x.cpu0] halted due to debug-request, current mode: Thread 
xPSR: 0x01000000 pc: 0x0800bcb4 msp: 0x2001fff0
Info : Device: STM32H74x/75x
Info : flash size probed value 2048k
Info : STM32H7 flash has dual banks
Info : Bank (0) size is 1024 kb, base address is 0x08000000
Warn : Adding extra erase range, 0x08069dc0 .. 0x0807ffff
Error: jtag status contains invalid mode value - communication failure
Error: error waiting for target flash write algorithm
Error: error while writing to address 0x5200200c
Error: error during the lock of flash
Error: error writing to flash at address 0x08000000 at offset 0x00020000
auto erase enabled

 Is it doable at all?

3 REPLIES 3
Andrew Neil
Super User

This is the recommended way to do remote debugging:

AndrewNeil_0-1777377141700.png

 

https://www.youtube.com/watch?v=Xw5ojR2Ygcw

 

See also:

AndrewNeil_2-1777377425425.png

https://www.st.com/resource/en/user_manual/um2609-stm32cubeide-user-guide-stmicroelectronics.pdf#page=143

 

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
lakins
Associate II

What would be the proper way to do it with openocd?

GDB Server will be running on Windows machine, and client will be connecting to flash/debug from Ubuntu.

Just to note environment is VSCode/CMake.

 

Looks like OpenOCD works the same:

https://openocd.org/doc/html/GDB-and-OpenOCD.html

https://linuxjedi.co.uk/remote-programming-and-debugging-stm32s/

 

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.