ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1089989 Топик полностью
evgeniy1294 (31.03.2021 16:26, просмотров: 385) ответил symbions на Вот тут-то начинаются странности :)
1) Не пользовался этим поделием, скорее всего в корне должны быть папки plugin, third party или что-нибудь подобное. Путь stm32cubeide_openocd_path тупо вкомпилен в ide или торчит где-то в скриптах, искать бесполезно. 

Можешь просто пройтись поиском по каталогам в папке с ide, ключевое слово 'openocd'


2) Ставить программы из репозитория обычно самое правильное решение, так что ничего удалять не нужно. Для начала работы будет достаточно и версии 0.10, при необходимости объясню, как собрать свежак из исходников.


3) Скорее всего все работает ( если я правильно понял ). Просто сбрось скорость до 900кГц и пришли скрин консоли.

openocd -f interface/stlink-v1.cfg -c 'transport select hla_swd' -c 'adapter speed 900' -f target/stm32f1x.cfg


4) Пользоваться этим просто, но для начала немного теории. У openocd есть два канала для управления:

* Ручной, предназначенный для управления отладчиком через telnet. Пользоваться довольно просто:

telnet 127.0.0.1 4444

# В старой версии можно было прошить девайс вот так
flash write_image erase /путь/до/файла.elf 0 elf

# В новой версии проще
program /путь/до/файла.elf

# Можно делать простые вещи, например сброс
reset

# Остановка и запуск после остановки
halt
resume

# Команды можно группировать, и собирать в скрипты
reset halt

Команд очень много, например есть команды прямой модификации памяти. За подробным описанием обратись к документации, она очень качественная:

http://openocd.org/doc/pdf/openocd.pdf


Этот канал управления я использую для прошивки плат, ручного сброса и некоторого тонкого контроля. Просто это удобнее, чем через ide.


* Второй способ подразумевает подключение к openocd через gdb. Это позволяет привычно отлаживать программы через ide, главное чтобы она поддерживала работу с gdb и openocd. Я работал в qt creator, clion, vs code, eclipse. В этом случае нужно просто правильно настроить плагин для любимой среды разработки.


Тебе скорее всего достаточно просто поменять путь в кубо-иде на /usr/bin/openocd . Где его менять ты его уже нашел - "${stm32cubeide_openocd_path}/openocd"