STM32F4Discovery в качестве SWD (ST-LINK/V2) программатора/отладчика

В одной из статей рассматривался проект отладочной платы для микроконтроллера STM32F030K6T6. Для полноценной работы с отладочной платой в первую очередь нужен программатор! В продаже  представлено множество различных отладочных плат с программаторами/отладчиками на борту, наибольшего распространения приобрели платы от самого производителя микроконтроллеров, фирмы ST — Discovery Kits.

Внутрисхемный программатор/отладчик ST-LINK/V2 расположен на платах Discovery и его можно и нужно использовать при работе с собственными отладочными платами, а так-же при программировании устройств на основе микроконтроллеров STM32.

В статье рассмотрим использование платы  STM32F4Discovery (рисунок 1) в качестве программатора/отладчика.

stm32f4_discoveryРисунок 1

В верхней части платы расположен ST-LINK/V2 и может работать только как SWD интерфейс. Первоначально плата настроена на работу с бортовым МК, и для использования с другими микроконтроллерами необходимо произвести несколько манипуляций.

Компоновка платы приведена на рисунке 2.

UT8_e1HXbxcXXagOFbXq

Рисунок 2

Красным выделены:

1) Собственно сам разъем SWD — CN2;

2) Перемычка для переключения между бортовым МК и разъемом SWD — CN3;

3) Питание (3 В) — VDD.

В технической документации приведена следующая распиновка разъема CN2 (рисунок 3).

SWD_connector

Рисунок 3

Подключаем нашу плату к пинам:

2 — линия тактирования;

3 — земля (минус питания);

4 — линия данных;

5 — сигнал сброса МК.

Если плата питается не от внешнего источника, то можно за питать от платы Discovery (VDD уровень 3 вольт).

Далее нужно переключить STLink на работу с внешним микроконтроллером, для этого убираем перемычки CN3. По всем правилам игры — можно уже смело работать с  другими отладочными платами… Но чудо не всегда происходит… Для полноценной работы нужно сделать еще одну небольшую доработку!

Для исключения влияния бортового МК и МК на отладочной плате нужно еще разделить сигнал сброса T_NRST, для этого на плате Discovery предусмотрена перемычка SB11, расположена она на обратной стороне платы (рисунок 4).

32f4

Рисунок 4

Схема данного участка приведена на рисунке 5.

SB11_connectorРисунок 5

На плате перемычка SB11 уже запаяна, и сигнал сброса одновременно поступает на два микроконтроллера. Выпаяв бусинку-перемычку и припаяв на проводках разъем с двумя контактами можно отключать сигнал сброса  от МК на плате Discovery. Фотография платы с изменениями приведена на рисунке 6.

 

SAMSUNG CAMERA PICTURES

Рисунок 6

Фотография подключенной отладочной платы к плате Discovery приведена на рисунке 7

 SAMSUNG CAMERA PICTURES

Рисунок 7

You may also like...

5 Responses

  1. Арчил:

    Необходимо запрограммировать stm32f746vg. Подключил stm32f4discovery, как в статье. Keil5 ругает «No target connected». В схеме на плату stm32f7discovery (stm32f7eval) кроме swdio и swclk есть еще два сигнала: stlink TX и stlink RX. Я думаю, что это сигналы для программирования через USART, хотя это не факт. Возможно ли отсутствие этих сигналов стать причиной отказа в программировании чипа? Имеется плата stm32f7discovery у которой есть разъем CN18 (SWD). Там два сигнала — swdio и swclk . Но они подключены к своему чипу. Как отключить не понятно — выпаять SB17 и SB14? И еще, на разъем не выведен NRST. В смысле он не нужен? Какой стандартный программатор может программировать 7-ю серию?

    • Kalik:

      Только добрался чтобы ответить. Правда отвечать уже не чего. Совершенно верно, нужно было убрать перемычки, но Вы к этому сами дошли

  2. Арчил:

    Задача решена, если кому надо — убрал sb14-sb17, соединил свой чип, все работает

    • Dikoy:

      С перемычками 15-16 как раз работает, при условии отпаянной 11 на ресете, а вот к длине и качеству проводов очень чувствительно. У меня только через 1 шьётся из трёх. Причём все 3 кабеля исправны и работают в других применениях.

  3. slon0903:

    Подскажите как прошить STM32F100C (установлен на плате, где выведены выводы: SWD-VDD,CLK,DIO,GND. UART-TX,RX,GND. И два пина-BOOT. Кнопки RESET на плате нет) с помощью программатора «ST LINK V2″ через интерфейс SWD, оболочка — STLINK Utility. Если есть возможность, то опишите весь процесс подробно…как для чайников. В противном случае ответьте на пару вопросов:
    1) На плате нет сигнала сброса, его нужно добавить?
    2) Как я правильно понял, пины-BOOT нужно закорачивать только при прошивке МК через UART? В моем случае (через SWD) эти пины не используются.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>