& quot; Невозможно начать отладку. С этим объектом не связан ни один процесс. & Quot; — STM32F4 с GDB и openOCD в коде Visual Studio

Windows 10
VSCode 1.28.1
VSC CPP Tools Extension 0.19.0
Макетная плата: Multitech MTUDK2-ST
OpenOCD 0.10.0
GDB (7.12.1.20170417.git как часть инструментария GNU ARM 6-2017-q2-update)

Попытка отладки по этому установка / пример. Компиляция двоичного файла с помощью Mbed CLI (1.8.2) работает из командной строки. Также может успешно запускать openOCD в одном экземпляре командной строки и связываться с ним через сеанс GDB в терминальном сеансе кода VS (запускается с arm-none-eabi-gdb).

Запуск сеанса отладки приводит к следующему выводу на консоли отладки VSC:

1: (628) LaunchOptions<LocalLaunchOptions xmlns='http://schemas.microsoft.com/vstudio/MDDDebuggerOptions/2014'

1: (667) LaunchOptions  ExePath='Z:\VoboNode_vsc_nucleo_f411RE\VoBoNode\BUILD\MTS_MDOT_F411RE\GCC_ARM-DEBUG\VoBoNode.elf'

1: (667) LaunchOptions  WorkingDirectory='Z:\VoboNode_vsc_nucleo_f411RE\VoBoNode'

1: (667) LaunchOptions  ExeArguments=''

1: (667) LaunchOptions MIMode='gdb'

1: (667) LaunchOptions  MIDebuggerPath='C:\Program Files (x86)\GNU Tools ARM Embedded\6 2017-q2-update\bin\arm-none-eabi-gdb.exe'

1: (667) LaunchOptions  WaitDynamicLibLoad='false'

1: (667) LaunchOptions  DebugServer='C:\OpenOCD\openocd-0.10.0\bin\openocd.exe'

1: (667) LaunchOptions  DebugServerArgs='-f C:\OpenOCD\openocd-0.10.0\scripts\board\st_nucleo_f4.cfg -f C:\OpenOCD\openocd-0.10.0\scripts\interface\stlink-v2-1.cfg -c init -c "reset init"'

1: (667) LaunchOptions  ServerStarted='target halted due to debug-request, current mode: Thread'

1: (667) LaunchOptions  FilterStderr='true'

1: (667) LaunchOptions  ServerLaunchTimeout='20000'

1: (667) LaunchOptions>

1: (667) LaunchOptions    <SetupCommands>

1: (668) LaunchOptions        <Command IgnoreFailures='false' Description=''>-environment-cd Z:\VoboNode_vsc_nucleo_f411RE\VoBoNode\BUILD\MTS_MDOT_F411RE\GCC_ARM\</Command>

1: (668) LaunchOptions        <Command IgnoreFailures='false' Description='connect to target'>-target-select remote localhost:3333</Command>

1: (668) LaunchOptions        <Command IgnoreFailures='false' Description='load file'>-file-exec-and-symbols VoBoNode.elf</Command>

1: (668) LaunchOptions        <Command IgnoreFailures='false' Description=''>-interpreter-exec console "monitor endian little"</Command>

1: (668) LaunchOptions        <Command IgnoreFailures='false' Description=''>-interpreter-exec console "monitor reset"</Command>

1: (668) LaunchOptions        <Command IgnoreFailures='false' Description=''>-interpreter-exec console "monitor halt"</Command>

1: (668) LaunchOptions        <Command IgnoreFailures='false' Description=''>-interpreter-exec console "monitor arm semihosting enable"</Command>

1: (668) LaunchOptions        <Command IgnoreFailures='false' Description='flash target'>-target-download</Command>

1: (668) LaunchOptions    </SetupCommands>

1: (668) LaunchOptions</LocalLaunchOptions>

1: (806) Starting: "C:\OpenOCD\openocd-0.10.0\bin\openocd.exe" -f C:\OpenOCD\openocd-0.10.0\scripts\board\st_nucleo_f4.cfg -f C:\OpenOCD\openocd-0.10.0\scripts\interface\stlink-v2-1.cfg -c init -c "reset init"
1: (1007) "C:\OpenOCD\openocd-0.10.0\bin\openocd.exe" exited with code 1 (0x1).

1: (1023) <-logout

Обратите внимание, что использование точной командной строки, показанной после «Starting:» (строка 806) для ручного запуска openOCD, работает нормально. Я подозреваю, что есть проблема с командами SetupCommands (несколько строк 668), которая препятствует запуску сеанса OpenOCD. Несмотря на это, я не совсем уверен, каким образом команды OP GDB должны выполняться из запускаемого вручную сеанса GDB, поэтому мне трудно устранить неполадки.

0

Решение

Получил это работает. Кажется, это была проблема с содержимым из предыдущих сборок, присутствующим в расположении, которое сборка VS Code ищет для отладки. Удаление всей папки и разрешение ее повторному заполнению кодом VS в новой сборке исправило ошибку openOCD. И теперь сборка работает, даже если я не удаляю содержимое из предыдущих сборок. Не совсем уверен, почему это сработало, но это сработало.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]