STM32F0, ST-link v2, OpenOCD 0.9.0: ошибка открытия

Я использую Launchpad gcc-arm-none-eabi 4.9-2015q2 для компиляции для STM32F0, и теперь я хотел бы отладить, используя arm-none-eabi-gdb из этой коллекции. Мой ST-Link v2 является частью платы Nucleo F411RE с подключенным внешним оборудованием (целью STM32F0). Мигание F0 работает нормально, поэтому я прихожу к выводу, что мои SWD-соединения в порядке.

Теперь я хочу запустить OpenOCD, но это не удается:

$ openocd -f interface/stlink-v2.cfg -f target/stm32f0x.cfg
Open On-Chip Debugger 0.9.0 (2015-07-26-16:02)
Licensed under GNU GPL v2
For bug reports, read
    http://openocd.org/doc/doxygen/bugs.html
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
adapter speed: 1000 kHz
adapter_nsrst_delay: 100
none separate
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : clock speed 950 kHz
Error: open failed
in procedure 'init'
in procedure 'ocd_bouncer'

Что здесь может быть не так?

Я также не мог установить соединение с помощью st-util, который сообщал о тайм-аутах и ​​в конце всегда вылетал из-за сегментации вина.


person Christoph    schedule 26.07.2015    source источник
comment
похоже что проблема с подключением stlink usb. сначала проверьте USB-кабель, попробуйте другой USB-порт или загляните в dmesg, если вы работаете в Linux, для Windows, возможно, проблема в том, что у вас нет драйверов от ST.   -  person vlk    schedule 08.09.2015
comment
Этот вопрос возник в результате поиска идентичной проблемы с платой STM32F4-DISCO. Похоже, что в какой-то момент ST переключился на использование STLink V2-1 (см. Ответ @sprhawk) на этой плате. Отмечу это для всех, кто оказался здесь по этой причине.   -  person rjp    schedule 22.01.2017
comment
У меня сработала установка на сброс программного обеспечения. См. Ссылку: openstm32.org/forumthread418#threadId5193   -  person bot1131357    schedule 30.12.2017
comment
Была аналогичная проблема: хотел отладить чип stm32f429 с помощью stm32f0discovery, и он не работал с -f board/stm32f0discovery.cfg, независимо от того, использовал ли я -f interface/stlink-{v2,v2-1}.cfg, но, наконец, просто сработало использование -f board/stm32f429discovery.cfg и -f interface/stlink-v2.cfg. Так может это зависит от цели (здесь чип stm32f429x)?   -  person mondaugen    schedule 01.05.2019


Ответы (5)


Nucleo F411RE встроил stlink v2-1, а не stlink v2

поэтому измените файл сценария следующим образом:

source [find interface/stlink-v2-1.cfg]

transport select hla_swd

source [find target/stm32f4x.cfg]

reset_config srst_only
person sprhawk    schedule 14.04.2016

Файл stlink-v2.cfg может быть в порядке. Вероятно, вам следует использовать stlink-v2-1.cfg файл (внутри этого файла находится hla_vid_pid 0x0483 0x3748).

person user    schedule 30.01.2018
comment
Это мне помогло (STM32F4). - person Stanislav Pankevich; 10.02.2019
comment
Я использую STM32L031, и это решило для меня проблему с подключением. - person ajxs; 06.04.2019

В моем случае я тоже получил Error: open failed, но вся конфигурация была в порядке. Затем я сделал dmesg | grep usb, чтобы понять, почему он не может подключиться через USB (в Ubuntu). Dmesg сказал мне, что есть проблемы с питанием и, возможно, неисправен кабель. Поскольку я использовал тот же кабель ранее в тот же день, а некоторые светодиоды на плате все еще мигали, я сначала проигнорировал это сообщение. Но тут я все-таки решил попробовать, купил другой кабель и о чудо! Неисправен кабель - с новым все работает. Так что, в конце концов, не всегда проблема с программным обеспечением.

Хотя, если вы сделаете lsusb (или используете диспетчер устройств в Windows) и плата будет хорошо указана, это, вероятно, не будет проблемой с кабелем. Если его нет, может быть.

person MF.OX    schedule 11.03.2019
comment
Я провел один вечер, пытаясь это исправить. Оказывается, проблема была в кабеле USB. Спасибо, что поделился - person artronics; 12.02.2021

Нашел исправление. Пара VID / PID в stlink-v2.cfg неверна. У них было это:

hla_vid_pid 0x0483 0x3748

но должно быть так:

hla_vid_pid 0x0483 0x374 B

буква «В», а не цифра «8».

person Chris    schedule 06.04.2016
comment
Как отметил @sprhawk в своем ответе, есть еще один профиль с ST Link v2-1, который имеет правильный PID 0x374B. - person rjp; 22.01.2017

1. в eclipse ide - ›project -› inc - ›{project_name} debug.cfg -› source [find interface / stlink.cfg]

проверьте отладчик вашего интерфейса, stlink.cfg, stlink-v2.cfg или stlink-v2-1.cfg, и измените [find interface / stlink.cfg]

{или} ПОПРОБОВАТЬ

2.C: \ Ac6 \ SystemWorkbench \ plugins \ fr.ac6.mcu.debug_2.5.0.201904120827 \ resources \ openocd \ st_scripts \ interface \ stlink.cfg (или stlink-v2.cfg или stlink-v2-1.cfg)

добавить hla_vid_pid 0

person MAHESH JUDOKA    schedule 14.08.2020