Проблемы с программой отладки в Atollic TrueStudio

Я разработал схему, в которой я использую микроконтроллер STM32L452RETx на печатной плате. По сути, это датчик тока. Для отладки я использую коннектор JTAG-20. Я использую Atollic TrueStudio IDE.

Проблема заключается в том, что когда я отлаживаю программу в TrueStudio, выбирая опцию JTAG в конфигурации отладки, появляется сообщение об ошибке, в котором говорится, что не удалось инициализировать ST-Link и цель не найдена, но когда я выбираю SWD, тогда нет ошибки, и она успешно программируется. где, как и в STM32CubeMx, я установил отладку в 5-контактную конфигурацию JTAG, поскольку я использую JTAG 20 на оборудовании. (последовательное периферийное устройство-> Sys -> Debug-> Jtag 5 pin). программа выполняет отладку без ошибок, но не выводит данные на последовательный терминал. последовательный терминал не выдает ошибки дрожания руки.

Кто-нибудь может сказать, это правильный способ отладки ( SWD в TrueStudion и JTAG в STM32CubeMx), или я делаю ошибку.

С Уважением,

1 ответ

Парадокс не такой большой, как кажется: как вы можете убедиться в таблице данных для STM32L452xx, DS11912 Rev.5, страницы 74/75, альтернативные функции GPIO, используемые для JTAG и SWD, одинаковы (всегда AF0, "SYS_AF"). Следовательно, соединение SWD работает после того, как вы настроили свой STM32CubeMX на JTAG (если бы вы настроили свой проект Cube на SWD, JTAG не работал бы, потому что контакт JTDI (PA15) не был бы подключен к AF0.).

Это решает проблему, из-за которой SWD работал неожиданно.


Остается проблема, почему JTAG не работает.

Вы упомянули, что используете разъем JTAG-20, но не знаете, какую именно версию ST-Link вы используете. Если, например, вы используете часть ST-Link, которая встроена в плату нуклео (или обнаружение, или аналогичный продукт других поставщиков), распиновка ST-Link ограничена строками, необходимыми для SWD и SWO (вместе: SWV). Это происходит не из-за ограничений TrueStudio, который в принципе поддерживает JTAG, а из-за того, что одна из 5 линий может быть не подключена.

Пожалуйста, проверьте, какую именно версию ST-Link вы используете (проще всего проверить, что вам сообщает программа ST-Link Utility), еще раз проверьте схемы и проводку от целевого микроконтроллера к адаптеру отладки. Если вы не найдете очевидной причины (и решите проблему таким образом), ваша проблема может быть электронной. Тогда это не по теме здесь, и (после дальнейшего сужения) вы должны описать оставшуюся проблему в Электротехническом стеке обмена. Если у вас есть осциллограф, возможно, стоит проверить сигналы, особенно на тех выводах, которые находятся только на JTAG, но не на SWD (JTDI, JTDO, NJTRST).

Другие вопросы по тегам