STM32 Cube IDE (True Studio) Подключение при сбросе

Я только что опробовал новую IDE STM32 Cube, основанную на Atollic True Studio, основанную на Eclipse.

Выглядит хорошо, Cube MX интегрирован, но Debugger / ST-Link Intigration создал мне проблемы.

Если я прошиваю MCU в первый раз, он работает очень хорошо. Но в следующий раз IDE сообщает

"Таргетинг на устройство не найдено

Ошибка при инициализации устройства ST-LINK. Причина: на цели не найдено устройство. "

Я обнаружил, что ST-Link V2 с моим оборудованием требует «Подключить при сбросе».

С утилитой ST-Link он работает нормально, но в Cube IDE я не могу найти эту точку для настройки.

Вот форма конфигурации: IDE

Кто-нибудь может помочь?


person guenthernagel    schedule 19.06.2019    source источник


Ответы (2)


Я обнаружил проблему кода, почему загрузка работает только один раз после полного стирания:

Cube IDE генерирует HAL_MspInit () в ..stm32f1xx_hal_msp.c, который содержит:

__HAL_AFIO_REMAP_SWJ_DISABLE();

При этом все отладки будут отключены после первой прошивки. С изменением этой строки на:

__HAL_AFIO_REMAP_SWJ_NOJTAG();

Режим отладки работает нормально и несколько раз подряд.

person guenthernagel    schedule 22.06.2019
comment
Чтобы решить проблему, перейдите в часть CubeMX и в разделе SYS выберите SWD. Затем вы резервируете эти контакты для SWD. - person tilz0R; 22.06.2019

С версией до v1.0.1 невозможно подключиться при сбросе с помощью STM32CubeIDE из графического интерфейса.

Причина (ы), по которым у вас возникла проблема, может быть:

  • Вы используете функции с низким энергопотреблением, когда ЦП останавливается
  • Вы перезаписываете настройку альтернативных функций по умолчанию для контактов SWDIO и SWCLK (PA13 и PA14).

Если вам нужно использовать Подключиться при сбросе, используйте STM32CubeProgrammer для перепрошивки. Более того, попробуйте не использовать спящие режимы или не перезаписывать мигающие GPIO для теста.

person tilz0R    schedule 19.06.2019
comment
Спасибо. В Cube MX Config я не использую PA13 / 14, если я использую маломощный Stuff, он не знает, как я могу проверить? Как правило, это ошибка или функция, которая не подключается при сбросе? - person guenthernagel; 19.06.2019
comment
@guenthernagel - это нереализованная функция, которая скоро появится. Вы используете доску ST или свою? Вы добавили в проект еще код? Вы где-нибудь используете __WFI или __WFE инструкцию? - person tilz0R; 19.06.2019
comment
OK. Есть ли обходной путь? Можно ли использовать внешний программатор / отладчик прямо из IDE? - person guenthernagel; 19.06.2019
comment
@guenthernagel в нормальных условиях программирование должно работать и работает нормально. Так что я бы тоже хотел разобраться в вашем оборудовании. - person tilz0R; 19.06.2019
comment
Хм. Я использую EasyMX Pro v7 for ARM Development board от микроэлектроники - на ней есть встроенный ST-LINK (они называют его mikroProg): mikroe.com/easymx-pro-stm32 Если я сотру чип с помощью утилиты ST-Link, удерживая на плате первый btn, я могу написать один раз с помощью Cube IDE - person guenthernagel; 19.06.2019
comment
Что я вижу прямо сейчас: если я стираю MCU с помощью утилиты и отлаживаю его с помощью IDE в первый раз, код загружается, но не запускается. Придется остановить отладку и сделать сброс, после этого код запущен ... Странные вещи ... - person guenthernagel; 19.06.2019
comment
Все похоже на то, что вы используете функции с низким энергопотреблением или частота процессора слишком низкая (вы изменили частоту HCLK внутри CubeMX?) Попробуйте установить максимальную частоту с помощью внутреннего RC-генератора. - person tilz0R; 19.06.2019
comment
Написана ли документация по STLink gdbserver или openOCD на мертвом языке? - person 0___________; 20.06.2019
comment
With version up to v1.0.1 it is not possible to connect under reset with STM32CubeIDE все должно быть интерактивным? Ни strtup, ни конфигурационных файлов? нет параметров командной строки? Возможно подключение при сбросе - person 0___________; 20.06.2019
comment
@P__J__ технически ты прав. Я обновил свой ответ;) - person tilz0R; 20.06.2019
comment
@P__J__ какая команда мне нужна для подключения при сбросе? Я не нашел параметры строки cmd. - person guenthernagel; 20.06.2019
comment
@ tilz0R, Часы на 72 МГц, с внешним OSC. Как я могу проверить настройки низкого энергопотребления? Я попробовал это сегодня на собственном оборудовании, похожем на mikroE Stuff, все та же проблема. - person guenthernagel; 20.06.2019
comment
@ tilz0R сам нашел проблему. Посмотрите мой ответ сверху. - person guenthernagel; 22.06.2019