Невозможно запрограммировать микроконтроллер STM32 с использованием интерфейса JTAG - PullRequest
0 голосов
/ 14 ноября 2018

enter image description here

MCU: STM32L496

Версия JFlash: v6.32i

Когда мы пытаемся запрограммировать плату с помощью микроконтроллера STM32, мы сталкиваемся с проблемой «Не удалось установить соединение с целью при сбросе».

Мы программировали доску раньше без проблем. Эта ошибка начала появляться внезапно, и теперь мы не можем запрограммировать плату. Когда мы ограничиваем вывод сброса MCU, вывод сброса становится низким, когда мы нажимаем кнопку подключения в JFlash и ясно, что плата сбрасывается (мы видим перезапуск функциональности прошивки).

Мы попробовали следующее:

Связал вывод BOOT0 с VDD и попытался загрузиться в системную память, а затем попытался запрограммировать. Но это не имеет никакого значения.

При попытке прошить всегда пытался вытянуть булавку сброса на GND Мы убедились, что нет проблем с дорожкой, ведущей к интерфейсу JTAG MCU.

Не могли бы вы помочь разрешить эту ситуацию?

Есть ли вероятность того, что текущая прошивка в MCU может предотвратить перепрошивку и заблокировать устройство?

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Это общая проблема с интерфейсом STM32 SWD. Для успешного программирования вы не должны питать вашу пользовательскую плату / другое оборудование питанием ST-линии, вместо этого вы должны сделать общее соединение GND и получать питание от внешнего источника. И если вы используете ST link только для программирования, а не для отладки, вам следует использовать загрузчик STM32 (проще).

0 голосов
/ 14 ноября 2018

STM32L4 имеет функцию защиты от чтения (RDP). См. Раздел 1.1 из AN4758 . Если ваше приложение прошивки устанавливает (намеренно или случайно) уровень RDP на 1 или 2 в области памяти «дополнительных байтов», то порт SWD / JTAG отключается от доступа к флэш-памяти (чтение, запись и стирание).

Если RDP имеет уровень 0 или 1, то вы сможете прочитать область памяти байтов опций. Если RDP уровня 1, то вы сможете установить его обратно на уровень 0. Флэш-память будет стерта при установке RDP обратно на уровень 0, но порт SWD / JTAG будет повторно включен. Если уровень RDP равен 2, то я считаю, что его невозможно сбросить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...