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 комментариев
Старые
Новые
Межтекстовые Отзывы
Посмотреть все комментарии
Алиса Алексеева
11 лет назад

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

beginner
beginner
9 лет назад

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

beginner
beginner
9 лет назад

lqfp48

beginner
beginner
9 лет назад

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

beginner
beginner
9 лет назад

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

beginner
beginner
9 лет назад

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

beginner
beginner
9 лет назад

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

beginner
beginner
9 лет назад

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

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

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

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

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

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

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

ali00ff
9 лет назад

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

Igor
Igor
8 лет назад

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

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

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

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

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

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

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

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

Alex
Alex
2 лет назад

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

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