Top.Mail.Ru

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

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

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

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

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

SWD разъем на STM32 Discovery

Если расположить плату как на рисунке, то верхний пин является первым, то есть в соответствии с таблицей – VDD_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

36 комментариев
Старые
Новые
Межтекстовые Отзывы
Посмотреть все комментарии
Алиса Алексеева
10 лет назад

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

www
www
Ответ на комментарий  Aveal
10 лет назад

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

ret
ret
Ответ на комментарий  www
9 лет назад

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

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

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

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

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

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

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

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

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

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

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

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

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

beginner
beginner
8 лет назад

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

beginner
beginner
8 лет назад

lqfp48

beginner
beginner
8 лет назад

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

beginner
beginner
8 лет назад

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

beginner
beginner
8 лет назад

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

beginner
beginner
8 лет назад

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

beginner
beginner
8 лет назад

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

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

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

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

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

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

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

ali00ff
8 лет назад

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

Igor
Igor
8 лет назад

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

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

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

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

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

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

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

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

Alex
Alex
1 год назад

Как сделать, из этого стенда программатор Nand K9GAG08U0E Возможно такое вообще?

36
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x