Перейти к содержанию
    

Отладка в System Workbench for STM32

Здравствуйте.

При попытки запустить отладку в среде System Workbench for STM32 (он построен на базе Eclipse) OpenOCD выдает

следующие ошибки

 

Open On-Chip Debugger 0.10.0+dev-00021-g524e8c8 (2019-04-12-08:48)
Licensed under GNU GPL v2
For bug reports, read
   http://openocd.org/doc/doxygen/bugs.html
srst_only separate srst_nogate srst_open_drain connect_assert_srst
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 8000 kHz
adapter_nsrst_delay: 100
Error: couldn't bind tcl to socket on port 6666: No error

 

А также в окне самого Eclipse 

image.png.7222f88019032a909538050e688658fb.png

 

Отладчик ST Link V2.

 

Изначально такого не было. Все четко запускалось и отлаживалось.

Не знаю что случилось, но в какой-то момент появились такие затруднения.

Как это можно исправить ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 минут назад, dimka76 сказал:

Как это можно исправить ?

9 минут назад, dimka76 сказал:

adapter speed: 8000 kHz

Попробовать понизить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/17/2023 at 2:00 AM, one_eight_seven said:
ss -tulpn

У меня винда.

Это в командной строке набирать ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 часов назад, dimka76 сказал:

Error: couldn't bind tcl to socket on port 6666: No error

Какая-то другая программа слушает порт 6666, поэтому OOCD не может его занять. Я не знаю, чем сейчас в виндовсе отслеживаются занявшие порт программы, как решение "на скорую руку" предложил бы в командной строке OOCD переключить его tcl-интерфейс на другой порт или вообще отключить, ведь с большой долей вероятности вы его все равно не используете.

Цитата
Config Command: tcl_port [number]

Specify or query the port used for a simplified RPC connection that can be used by clients to issue TCL commands and get the output from the Tcl engine. Intended as a machine interface. When not specified during the configuration stage, the port number defaults to 6666. When specified as "disabled", this service is not activated.

Во всяком случае это поможет установить, является ли эта ошибка причиной проблем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/17/2023 at 11:11 AM, Сергей Борщ said:

Какая-то другая программа слушает порт 6666, поэтому OOCD не может его занять.

Но при настройке отладки в System Workbench (IDE), эта IDE автоматически выставляет порт 3333 и я его не меняю.

image.png.9ceb7b1e81e0d7cb2cf8a56bcf65219e.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 минут назад, dimka76 сказал:

порт 3333

Это порт GDB и OOCD по-умолчанию использует порт 3333 для связи с GDB. Кроме этого порта OOCD использует еще два - 4444 для общения через telnet (постоянно использую) и 6666 для tcl (никогда не использовал). Вот последний и конфликтует с какой-то другой программой. У вас же есть какой-то openocd.cfg, в котором прописаны настройки OOCD под конкретный проект? Вот в него и впишите 

tcl_port disabled

Или вон в поле OpenOCD Options впишите

-C "tcl_port disabled"

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/17/2023 at 11:28 AM, Сергей Борщ said:

Это порт GDB и OOCD по-умолчанию использует порт 3333 для связи с GDB. Кроме этого порта OOCD использует еще два - 4444 для общения через telnet (постоянно использую) и 6666 для tcl (никогда не использовал). Вот последний и конфликтует с какой-то другой программой.

Спасибо !

А  команду Config Command: tcl_port [number] 

я могу прописать скрипт, который формирует IDE ?

 

image.png.f644b1679d9668c8e2d5bbd932858944.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, можете. Пока вы отвечали я чуток дополнил предыдущее сообщение, посмотрите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/17/2023 at 11:36 AM, Сергей Борщ said:

Да, можете. Пока вы отвечали я чуток дополнил предыдущее сообщение, посмотрите.

Спасибо !

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/17/2023 at 11:28 AM, Сергей Борщ said:

 У вас же есть какой-то openocd.cfg, в котором прописаны настройки OOCD под конкретный проект? Вот в него и впишите 

Не помогло. 

Все равно вылезает ошибка

 

Error: couldn't bind tcl to socket on port 6666: No error

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Удалось найти приложение на компе, которое заняло порт 6666

с помощью команды netstat -ab.

Прибил это приложение и отладка заработала.

Теперь другая проблема.

Отладка сбрасывается.

Вот такие сообщения в консоли

 

 

Open On-Chip Debugger 0.10.0+dev-00021-g524e8c8 (2019-04-12-08:48)
Licensed under GNU GPL v2
For bug reports, read
   http://openocd.org/doc/doxygen/bugs.html
none separate
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 1800 kHz
adapter_nsrst_delay: 100
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : clock speed 1800 kHz
Info : STLINK v2 JTAG v29 API v2 SWIM v7 VID 0x0483 PID 0x3748
Info : using stlink api v2
Info : Target voltage: 3.257031
Info : Stlink adapter speed set to 1800 kHz
Info : STM32F103CBTx.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : Listening on port 3333 for gdb connections
Info : accepting 'gdb' connection on tcp/3333
Info : device id = 0x13030410
Info : flash size = 64kbytes
shutdown command invoked


Info : dropped 'gdb' connection
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, dimka76 сказал:

shutdown command invoked

В каком-то из скриптов или в командной строке встречается команда shutdown?

Цитата
Command: shutdown [error]

Close the OpenOCD server, disconnecting all clients (GDB, telnet, other). If option error is used, OpenOCD will return a non-zero exit code to the parent process.

If user types CTRL-C or kills OpenOCD, the command shutdown will be automatically executed to cause OpenOCD to exit.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/17/2023 at 10:09 PM, Сергей Борщ said:

В каком-то из скриптов или в командной строке встречается команда shutdown?

Нет, не нашел такого.

Перезапустил IDE, отладка заработала.

И то коряво как-то. Регистры периферии то читаются, то не читаются.

Что-то вообще все глючит )))

Может потому что я пытаюсь отлаживать GigaDevice, а в IDE настраиваю как STM ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...