Question on STM32CubeIDE and remote debugging
Hello,
I am looking for some guidelines on how to make remote debugging possible with STM32CubeIDE running on Win10x64 and my STM32F070RB board connected to a Linux host.
Everything works fine when the device is connected locally, but there is an option to "connect to remote GDB server" in the IDE and I am not 100% on what should be running on the Linux host.
I installed stlink-server from ST on the linux host and run it with the following:
$ sudo stlink-server --network -p 61234 -d 3
Looks like the device is found:
Debug: 1 0 options.c:113 add_default_dirs(): run_prefix=
Debug: 2 0 main.c:100 main(): create_listening_sockets
Debug: 3 0 common.c:103 create_listening_sockets(): Entering create_listening_sockets()
Debug: 4 0 common.c:104 create_listening_sockets(): Creating the list of sockets to listen for ...
Debug: 5 0 common.c:117 create_listening_sockets(): interface, tcp port : (null) , 61234
Info : 6 0 common.c:118 create_listening_sockets(): default port : 61234
Debug: 7 1 common.c:133 create_listening_sockets(): getaddrinfo successful. Enumerating the returned addresses ...
Debug: 8 1 common.c:138 create_listening_sockets(): Processing Address 0x1f7f370 returned by getaddrinfo(1) : (null)
Debug: 9 1 common.c:154 create_listening_sockets(): Created socket with handle = 3
Info : 10 1 common.c:83 print_address_string(): Remote address: 0.0.0.0
Debug: 11 1 common.c:207 create_listening_sockets(): Socket bound successfully
Debug: 12 1 common.c:219 create_listening_sockets(): Non Blocking Setting
Debug: 13 1 sock_info.c:74 alloc_sock_info(): alloc_init_sock_info : Allocated 0x1f7f410
Debug: 14 1 common.c:237 create_listening_sockets(): Added socket to list of listening sockets
Debug: 15 1 common.c:247 create_listening_sockets(): Freed the memory allocated for res by getaddrinfo
Debug: 16 1 common.c:250 create_listening_sockets(): Exiting create_listening_sockets()
Debug: 17 1 libusb1_common.c:145 stlink_libusb_init(): stlink_libusb_init
Debug: 18 23 libusb1_common.c:154 stlink_libusb_init(): libusb version : 1.0.23.11397 : http://libusb.info
Debug: 19 23 libusb1_common.c:382 stlink_libusb_open(): libusb_get_device_list entry
Debug: 20 24 libusb1_common.c:400 stlink_libusb_open(): libusb_open success 0664FF363732594D43163107
Debug: 21 24 stlink_api.c:112 get_stlink_by_name(): usb not found : 0x23befa52
Debug: 22 25 libusb1_common.c:423 stlink_libusb_open(): add to list vendor_id 0x483, devs 0x374b, 0664FF363732594D43163107
Debug: 23 25 libusb1_common.c:429 stlink_libusb_open(): new_stlink->dev->dev = 0x1f8a480, new_stlink->dev->fd = 0x1f99130
Debug: 24 25 libusb1_common.c:436 stlink_libusb_open(): close new_stlink->dev->dev = 0x1f8a480, new_stlink->dev->fd = 0x1f99130
Debug: 25 25 libusb1_common.c:450 stlink_libusb_open(): close usb device 0x1f8a480, 0x1f99130
However, when I setup IDE with remote debugger and start the debug, I see the following in the stlink-server:
Debug: 33 174755 accept.c:190 non_blocking_accept_main(): listening state : 1
Debug: 34 174755 common.c:290 process_accept_event(): Entering process_accept_event() on socket 3, sock_info 0x1f7f410
Info : 35 174755 common.c:83 print_address_string(): Remote address: 192.168.88.10
Debug: 36 174755 sock_info.c:74 alloc_sock_info(): alloc_init_sock_info : Allocated 0x1f8b860
Debug: 37 174755 common.c:329 process_accept_event(): Added accepted socket 10 to list of sockets
Debug: 38 174756 stlink_tcp_cmd.c:1161 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : unknown command received +$qSupported:multiprocess+;swbreak+;hwbreak+;qRelocInsn+;fork-events+;vfork-events+;exec-events+;vContSupported+;QThreadEvents+;no-resumed+#df
Debug: 39 174756 stlink_tcp_cmd.c:1163 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : returned value 0 unknown_command
Debug: 40 176771 stlink_tcp_cmd.c:1161 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : unknown command received $qSupported:multiprocess+;swbreak+;hwbreak+;qRelocInsn+;fork-events+;vfork-events+;exec-events+;vContSupported+;QThreadEvents+;no-resumed+#df
Debug: 41 176771 stlink_tcp_cmd.c:1163 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : returned value 0 unknown_command
Debug: 42 178776 stlink_tcp_cmd.c:1161 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : unknown command received $qSupported:multiprocess+;swbreak+;hwbreak+;qRelocInsn+;fork-events+;vfork-events+;exec-events+;vContSupported+;QThreadEvents+;no-resumed+#df
Debug: 43 178776 stlink_tcp_cmd.c:1163 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : returned value 0 unknown_command
Debug: 44 180786 stlink_tcp_cmd.c:1161 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : unknown command received $qSupported:multiprocess+;swbreak+;hwbreak+;qRelocInsn+;fork-events+;vfork-events+;exec-events+;vContSupported+;QThreadEvents+;no-resumed+#df
Debug: 45 180786 stlink_tcp_cmd.c:1163 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : returned value 0 unknown_command
Debug: 46 184799 stlink_tcp_cmd.c:1161 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : unknown command received -
Debug: 47 184799 stlink_tcp_cmd.c:1163 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : returned value 0 unknown_command
Debug: 48 186807 stlink_tcp_cmd.c:1161 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : unknown command received -
Debug: 49 186807 stlink_tcp_cmd.c:1163 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : returned value 0 unknown_command
Debug: 50 188818 stlink_tcp_cmd.c:1161 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : unknown command received -
Debug: 51 188818 stlink_tcp_cmd.c:1163 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : returned value 0 unknown_command
Debug: 52 188819 stlink_tcp_cmd.c:1161 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : unknown command received +
Debug: 53 188819 stlink_tcp_cmd.c:1163 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : returned value 0 unknown_command
Debug: 54 188822 stlink_tcp_cmd.c:1161 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : unknown command received $vMustReplyEmpty#3a
Debug: 55 188822 stlink_tcp_cmd.c:1163 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : returned value 0 unknown_command
Debug: 56 190934 stlink_tcp_cmd.c:1161 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : unknown command received $vMustReplyEmpty#3a
Debug: 57 190934 stlink_tcp_cmd.c:1163 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : returned value 0 unknown_command
Debug: 58 192931 stlink_tcp_cmd.c:1161 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : unknown command received $vMustReplyEmpty#3a
Debug: 59 192931 stlink_tcp_cmd.c:1163 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : returned value 0 unknown_command
Debug: 60 194939 stlink_tcp_cmd.c:1161 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : unknown command received $vMustReplyEmpty#3a
Debug: 61 194939 stlink_tcp_cmd.c:1163 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : returned value 0 unknown_command
Debug: 62 198955 stlink_tcp_cmd.c:1161 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : unknown command received -
Debug: 63 198955 stlink_tcp_cmd.c:1163 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : returned value 0 unknown_command
Debug: 64 200966 stlink_tcp_cmd.c:1161 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : unknown command received -
Debug: 65 200966 stlink_tcp_cmd.c:1163 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : returned value 0 unknown_command
Debug: 66 202971 stlink_tcp_cmd.c:1161 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : unknown command received -
Debug: 67 202971 stlink_tcp_cmd.c:1163 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : returned value 0 unknown_command
Debug: 68 202972 stlink_tcp_cmd.c:1161 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : unknown command received +
Debug: 69 202972 stlink_tcp_cmd.c:1163 process_stlink_tcp_cmd(): process_stlink_tcp_cmd : returned value 0 unknown_command
Error: 70 202973 common.c:391 process_read_event(): recv returned 0. Remote side has closed gracefully. Good.
Debug: 71 202973 stlink_connection.c:148 evaluate_auto_kiil(): not ask to exit() because 0
IDE reports:
Failed to execute MI command:
target remote arch00:61234
Error message from debugger back end:
Remote replied unexpectedly to 'vMustReplyEmpty': timeout
Failed to execute MI command:
target remote arch00:61234
Looks like there is some sort of a protocol mismatch, but I am not sure what is missing.
Thank you,
Eric