Как ST-Link СБРОСАЕТ MCU с помощью булавки сброса? Как подключить пин Boot0, когда он не используется и используется интерфейс SWD?

Я разрабатываю собственную печатную плату на базе микроконтроллера STM32F401RCT6 . Я использую интерфейс SWD и STlink для программирования и отладки микроконтроллера.

Я понял, что контакт сброса используется для СБРОСА MCU, который включает в себя все регистры, часы и т. Д. Когда контакт сброса подключен к земле извне, он находится в состоянии сброса, когда он не подключен к земле, он не находится в состоянии сброса.

Я также понял, что ST-LINK перезагружается, а затем отправляет программу через интерфейс SWD.

Вопрос 1:

Мой вопрос заключается в том, как сбрасывается ST-Link, потому что, согласно техническому описанию, вывод сброса микроконтроллера должен быть подключен к земле через кнопочный переключатель, чтобы мы могли вручную выполнить сброс, нажав его. Но когда я обратился к схеме подключения контакта сброса к интерфейсу SWD, я увидел два соединения: одно через кнопочный переключатель на землю, а другое напрямую подключено к разъему SWD . Затем я запутался, как контакт сброса подключен к земле через кнопочный переключатель и как STlink будет сбрасывать MCU, когда контакт сброса напрямую подключен к разъему SWD, не подключая его к земле.

Поэтому, когда мы хотим сбросить, нам нужно сделать сброс вручную, нажав кнопку. Если это так, то зачем нам нужен сброс пин-кода для интерфейса SWD на канал ST?

Или это похоже на вывод сброса внутри Stlink Programmer, подключенный к GND. Таким образом, для автоматического сброса через STlink мы используем контакт RESET в интерфейсе SWD, а для ручного сброса мы используем кнопку. Я прав? Если я ошибаюсь поправьте меня.

введите описание изображения здесь

И еще один мой вопрос: я использую интерфейс SWD для программирования и отладки, поскольку я использую интерфейс SWD, а не загрузчик, должен ли я подключать вывод Boot0 к земле. Или используется какой-либо контакт Boot0 (загрузчик) при программировании с использованием интерфейса SWD?

Ответы (2)

Я только что закончил печатную плату для STM32 (STM32F042). Дизайн минимален:

  • BOOT0 подключен к земле
  • NRST вообще не подключен
  • SWDIO и SWDCLK доступны для программирования и отладки

ST-Link может сбросить MCU с помощью команды через интерфейс SWD. Если вы хотите подключить NRST, идите, как описано Justme .

Обновлять

Чтобы уточнить вопрос 2: BOOT0 не нужен, если вы используете SWD. Это будет необходимо, если вы хотите загрузить прошивку через UART. Так что просто подключите его к земле.

Кнопка соединяет вывод сброса с землей только тогда, когда она нажата. Это не мешает ST-Link потянуть его на землю для сброса.

Если вы не хотите или не нуждаетесь в физической кнопке сброса, не рисуйте ее.

ST-Link может сбросить цель через SWD или с помощью физического контакта сброса. Ему не нужен контакт физического сброса, он нужен для случаев, когда цель использует контакты SWD для чего-то другого, поэтому сброс через SWD недоступен.

Если вы никогда не хотите запускать встроенный загрузчик, подключите Boot0 к земле, чтобы всегда запускать пользовательскую программу.