Программатор микроконтроллеров из STM32VLDiscovery.

Одна из предыдущих статей (вот она) была посвящена тому, как прошивать контроллер на отладочной плате STM32VLDiscovery, но этого же нам мало 🙂 Давайте попробуем прошить сторонний микроконтроллер, используя STM32VLDiscovery в качестве ST-Link программатора! То есть из Discovery мы сделаем программатор микроконтроллеров для других плат. У меня вот, например, лежит отличная отладочная плата Mini STM32 с контроллером STM32F103VET6, его то как раз я и буду прошивать. И сразу переходим от слов к делу!

Для начала подготовим Discovery для прошивки внешнего контроллера. Для этого надо убрать два джампера:

Отладочная плата STM32VLDiscovery.

Теперь находим SWD разъем на плате, вот он:

SWD разъем на STM32 Discovery

Если расположить плату как на рисунке, то верхний пин является первым, то есть в соответствии с таблицей – CDD_TARGET:

Распиновка SWD на плате STM32VLDiscovery.

Его мы кстати использовать сегодня не будем. Подключать внешний контроллер мы будем тремя проводами – это общий провод (земля), тактовый сигнал SWD (SWD clock) и SWD Data. Осталось понять, где какие пины у микроконтроллера, который мы собираемся прошить. Для этого берем даташит и лезем в распиновку. Там нас интересуют пины SWDIO и SWCLK. Для моего контроллера STM32F103VET6:

SWD на отладочной плате Mini STM32.

Вот оно то, что надо – пины PA13, PA14. Осталось только соединить! Подключаем три проводка к разъему SWD на Discovery – второй пин разъема заводим на PA14, четвертый на PA13, ну и перекидываем землю на внешний микроконтроллер, который мы собираемся прошивать. Запитываем наш программируемый контроллер как обычно, STM32VLDiscovery пусть использует питание от USB. Вот, собственно, и все! Прошиваем точно так же, как мы прошивали контроллер на плате Discovery, об этой статье я уже говорил чуть выше, в самом начале 🙂

Вот в принципе и все, что мы хотели сделать, получилось как задумывалось! Это оказалось довольно-таки просто, но, согласитесь, штука полезная. У многих есть STM32VLDiscovery, так почему же не использовать ее в качестве программатора микроконтроллеров STM32 на других платах. На сегодня это все, до скорых встреч, оставайтесь на связи!

Поделиться!

Подписаться
Уведомление о
guest
35 Комментарий
старее
новее большинство голосов
Inline Feedbacks
View all comments
Алиса Алексеева
7 лет назад

Мда, а что схемы с уже прошитыми внешними контроллерами не выпускаются? или в этом весь смысл – прошить самостоятельно?

www
www
Reply to  Aveal
7 лет назад

Она наверно красивая блондяшка )))))

ret
ret
Reply to  www
6 лет назад

Как она вообще на этом сайте оказалась???? :-))))

Алексей
Алексей
6 лет назад

Лишь только дама появляется в мужском коллективе- профессиональная деятельность начинает плавно отползать на второй план…

Валерий
6 лет назад

Интересно, попробую. набор стоит 18 бакинских. и его оказывается можно использовать для прошивки микросхем. еще если слабать адаптер на платке с зажимом, то ваще песня получится. Спасибо автору за подсказку.

Паша
Паша
5 лет назад

Уж не знаю что еще и где прочитать… теперь не могу разобраться с выбором источника тактирования контроллера ( внутренная RC цепочка или внешний кварц)
и каким образом он задается?
В AVR задавалось отдельно fuse битами а как здесь?

Паша
Паша
5 лет назад

Ок спасибо! …Непосредственно по теме, прошил stm32f050 с первого раза без проблем, но если эти выводы ( в вашем случае PA13, PA14 ) использовать потом в программе возможна ли повторная прошивка?

Андрей
Андрей
5 лет назад

Здравствуйте! Что не могу найти документацию на разъём SWD . Может есть у кого в p-cade поделитесь пожалуйста.

Андрей
Андрей
5 лет назад

Ну вот вроде нашел http://www.brownbear.ru/components/swd1-4.html посмотрите он немного не такой как на фото.

beginner
beginner
5 лет назад

Люди, помогите с F3discovery
вынул перемычки – режим ст-линк
swclk – 2 нога SWD – на 37 ногу STM32F103
swdio – 4 нога SWD – на 34 ногу STM32F103
gnd – 3 нога SWD – на 35 ногу stm32f103
законнектил, но стлинк utillity не видит f103, что я делаю не так?

beginner
beginner
5 лет назад

lqfp48

beginner
beginner
5 лет назад

lqfp48
сорри за новую ветку в комментах

beginner
beginner
5 лет назад

F303 шьется и распознается через ST-LINK Utility, снимаю перемычки – f103c8t6 не видит – такая беда

beginner
beginner
5 лет назад

3 В надо подавать? земля подсоединена

beginner
beginner
5 лет назад

ок буду пробовать

beginner
beginner
5 лет назад

подключил питание, но не от swd (там его не обнаружилось), а от F3discovery, nrst,boot0 и 1. Прошивка заработало. Aveal, премного благодарен за оперативные наводки!

алексей
алексей
5 лет назад

Уважаемые коллеги! Столкнулся с проблемой при прошивке miniSTM32 c помощью Discovery (все делал точно так же, как написано выше, но контроллер STM32F103VET6 был не виден. Промучился 2 дня, прозванивал провода, дорожки к ногам 103VET6, все в норме. Проблема оказалась в длине несчастных трех проводов, по которым шьется внешний контроллер – их длина была около 20 см. Как только укоротил до 5 см все пошло как по маслу. Не наступайте на мои грабли.

Андрей
5 лет назад

Алексей спасибо Вам большое! Я 3 дня промаялся соединяя “чистый” STM32f407 с платой Discovery для заливки в него прошивки. По Вашему совету укоротил провода по SWD до 5 см и все сразу заработало! Хотя я уже начинал отчаиваться. Слава богу нашел Ваш пост на этом форуме!

Иван
Иван
5 лет назад

Ребят, объясните мне непонимающему, у STM32VLDISCOVERY есть встроенный ST-LINK, то что он как программатор работает это понятно, но как отладчик его можно использовать? Если да, то непонятно зачем они тогда продают тот же ST-LINK/V2, гораздо дороже, только ради JTAG?

ali00ff
5 лет назад

поправка 🙂
” нужую продукцию” на “чужую продукцию”

Igor
Igor
4 лет назад

а можно ли этим СТ-линком прошивать контроллеры других производителей?

Юрий
Юрий
4 лет назад

Есть STM32Discovery хочу пользовать её как программатор.
Насколько я понял, нужно вывести с отладки сигналы SWD_/OI и SWD_CLK + GND
На самой отладке программатор и целевой МК ещё соединены по RESET целевого МК

Вопрос: Что мне делать со сбросом контроллера в моей плате? Насколько я помню, у АВР меги сброс при программировании дёргается. У STM нужно вручную сбрасывать во время прошивки? Как вообще идёт процесс прошивки? комбинация boot0-boot1

Юрий
Юрий
4 лет назад

Ясно. Значит программатор сам целевой микроконтроллер сбросит по интерфейсу?

Евгений
Евгений
4 лет назад

посмеялся почитав комментарии =)

Присоединяйтесь!

Profile Profile Profile Profile Profile
Vkontakte
Twitter

Язык сайта

Июль 2020
Пн Вт Ср Чт Пт Сб Вс
« Июн    
 12345
6789101112
13141516171819
20212223242526
2728293031  

© 2013-2020 MicroTechnics.ru