В одной из статей (вот она) мы разобрались, как прошивать контроллер на отладочной плате STM32 Discovery, но этого же нам мало Давайте попробуем прошить сторонний микроконтроллер, используя STM32 Discovery в качестве ST-Link программатора. То есть из Discovery мы сделаем программатор микроконтроллеров для других плат. У меня вот, например, лежит отличная отладочная плата Mini STM32 с контроллером STM32F103VET6, его то как раз я и буду прошивать через Discovery.
Что ж, переходим от слов к делу….
Для начала подготовим Discovery для прошивки внешнего микроконтроллера. Для этого надо убрать два джампера:
Теперь находим SWD разъем на плате, вот он:
Если расположить плату как на рисунке, то верхний пин является первым, то есть в соответствии с таблицей – пином для питания:
Он нам, кстати, не понадобится. Подключать внешний контроллер мы будем тремя проводами – это общий провод (земля), тактовый сигнал SWD (SWD clock) и SWD Data. Осталось понять, где какие пины у микроконтроллера, который мы собираемся прошить. Для этого берем даташит и лезем в распиновку. Там нас интересуют пины SWDIO и SWCLK. Для моего контроллера STM32F103VET6:
Вот оно то, что надо – пины PA13, PA14. Осталось только соединить. Подключаем три проводка к разъему SWD на Discovery — второй пин разъема заводим на PA14, четвертый на PA13, ну и землю перекидываем на внешний контроллер. Запитываем наш программируемый контроллер как обычно, STM32Discovery пусть тащит питание от USB. Вот, собственно, и все. Прошиваем точно так же, как мы прошивали контроллер на плате Discovery, об этой статье я уже говорил чуть выше, в самом начале =)
Вот в принципе и все, что мы хотели сделать, получилось как задумывалось ) Это оказалось довольно-таки просто, но, согласитесь, штука полезная. У многих есть STM32 Discovery, так почему же не использовать ее в качестве программатора микроконтроллеров STM32 на других платах, если под рукой нету ничего более подходящего До скорых встреч, оставайтесь на связи!
Мда, а что схемы с уже прошитыми внешними контроллерами не выпускаются? или в этом весь смысл — прошить самостоятельно?
Ну да, в этом и смысл, написать свою программу и зашить ее в контроллер.
Она наверно красивая блондяшка )))))
Не знаю) У нее кстати прикольный сайт)
Как она вообще на этом сайте оказалась???? )))
Лишь только дама появляется в мужском коллективе- профессиональная деятельность начинает плавно отползать на второй план…
Интересно, попробую. набор стоит 18 бакинских. и его оказывается можно использовать для прошивки микросхем. еще если слабать адаптер на платке с зажимом, то ваще песня получится. Спасибо автору за подсказку.
Уж не знаю что еще и где прочитать… теперь не могу разобраться с выбором источника тактирования контроллера ( внутренная RC цепочка или внешний кварц)
и каким образом он задается?
В AVR задавалось отдельно fuse битами а как здесь?
В SPL посмотри в файлах с функциями RCC, там все есть)
Ок спасибо! …Непосредственно по теме, прошил stm32f050 с первого раза без проблем, но если эти выводы ( в вашем случае PA13, PA14 ) использовать потом в программе возможна ли повторная прошивка?
Да, думаю не возникнет проблем
Здравствуйте! Что не могу найти документацию на разъём SWD . Может есть у кого в p-cade поделитесь пожалуйста.
Ну вот вроде нашелhttp://www.brownbear.ru/components/swd1-4.html посмотрите он немного не такой как на фото.
По ссылке дип-переключатель. А причем тут SWD?)
Люди, помогите с F3discovery
вынул перемычки — режим ст-линк
swclk — 2 нога SWD — на 37 ногу STM32F103
swdio — 4 нога SWD — на 34 ногу STM32F103
gnd — 3 нога SWD — на 35 ногу stm32f103
законнектил, но стлинк utillity не видит f103, что я делаю не так?
А какой именно f103 и в каком корпусе?
lqfp48
lqfp48
сорри за новую ветку в комментах
А с питанием на f103 все в порядке? И работает ли вообще ST-LINK, если попробовать f303 прошить?
F303 шьется и распознается через ST-LINK Utility, снимаю перемычки — f103c8t6 не видит — такая беда
Скорее всего что-то с питанием целевого контроллера.
3 В надо подавать? земля подсоединена
Ну надо полностью f103 подключить. Питание на все Vdd выводы, землю на все Vss итд.
ок буду пробовать
подключил питание, но не от swd (там его не обнаружилось), а от F3discovery, nrst,boot0 и 1. Прошивка заработало. Aveal, премного благодарен за оперативные наводки!
=)
Уважаемые коллеги! Столкнулся с проблемой при прошивке miniSTM32 c помощью Discovery (все делал точно так же, как написано выше, но контроллер STM32F103VET6 был не виден. Промучился 2 дня, прозванивал провода, дорожки к ногам 103VET6, все в норме. Проблема оказалась в длине несчастных трех проводов, по которым шьется внешний контроллер — их длина была около 20 см. Как только укоротил до 5 см все пошло как по маслу. Не наступайте на мои грабли.
Алексей спасибо Вам большое! Я 3 дня промаялся соединяя «чистый» STM32f407 с платой Discovery для заливки в него прошивки. По Вашему совету укоротил провода по SWD до 5 см и все сразу заработало! Хотя я уже начинал отчаиваться. Слава богу нашел Ваш пост на этом форуме!
Ребят, объясните мне непонимающему, у STM32VLDISCOVERY есть встроенный ST-LINK, то что он как программатор работает это понятно, но как отладчик его можно использовать? Если да, то непонятно зачем они тогда продают тот же ST-LINK/V2, гораздо дороже, только ради JTAG?
поправка
» нужую продукцию» на «чужую продукцию»