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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ок спасибо! ...Непосредственно по теме, прошил 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
9 лет назад

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

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

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

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

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

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

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

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

Alex
Alex
2 лет назад

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

Ser_GEE
5 месяцев назад

Добрый день, ситуация: на плате Discavery спалили stm32f103 (загрузчик) камень перепаяли от работающего донора. Пытаюсь перепрошить по стандартной схеме, BOOT 0 подтянул к +, PA14 (SWCLK) и PA13 (SWDIO) к ST-Link V2, питание по родному USB, оболочку использую ST-Link Utility. Программатор она видит, а вот прошиваемый проц нет, Can not connect to target? Где ошибка??

Ser_GEE
Ответ на комментарий  Aveal
5 месяцев назад

меня еще смущает качество перепайки с донора на дискавери(((

Ser_GEE
Ответ на комментарий  Aveal
5 месяцев назад

нет, из другого устройства.

Ser_GEE
Ответ на комментарий  Aveal
5 месяцев назад

нет, это был карманный цифровой осциллограф, рабочий, как мне коллеги объяснили, из него они и позаимствовали камень)))

Ser_GEE
Ответ на комментарий  Aveal
5 месяцев назад

вот я и хочу через ST-Link v2 прошить его, но камень не виден((

Ser_GEE
Ответ на комментарий  Aveal
5 месяцев назад

верно

Ser_GEE
Ответ на комментарий  Aveal
5 месяцев назад

На оборотной стороне платы есть перемычки SB4, SB8 если их запаять то указанные Вами выводы подключаются к разьемуST-Link , естественно, с удаленными перемычками, на пины 2 и 4 разъёма, соответственно. Становятся SWDIO и SWCLK

Ser_GEE
Ответ на комментарий  Aveal
5 месяцев назад

я именно к CN3 и подключаюсь. Это разъем программатора ST-Link, если перемычки убрать и пропаять SB4 и SB8 как я писал выше,а также перемычку подпаять к плюсу питания то есть подтянуть BOOT0 , то как бы можно прошивать новый камень, но видимо я что то не учитываю, или камень все таки поджарили при монтаже

Ser_GEE
Ответ на комментарий  Aveal
5 месяцев назад

да, именно так я и сделал, в моем случае вместо SB 5,7,9 стоят резисторы, их необходимо убрать??? мы же пины разъёма CN 2(SWD) не используем

Сергей
Сергей
Ответ на комментарий  Aveal
5 месяцев назад

ДОброго ВС. Вернулся к проблеме. Спасибо за участие, мы с Вами смотрели разные версии схем, у меня SB 2,4,6,8, у Вас SB4,6,8,10. Разобрался, подключился!!!!!! но сейчас выдает ошибку Error: Data read failed

Ser_GEE
Ответ на комментарий  Aveal
5 месяцев назад

пайку проверил под микроскопом и прозвонкой, там все норм

Ser_GEE
Ответ на комментарий  Ser_GEE
4 месяцев назад

Добрый день, продолжаю ковыряться с убитой платой Дискавери, пришли наконец то камни, перепаял абсолютно новый stm 32f103C6T6A, до этого стоял f103CBT6. Программатор через st-link видит его, флеш-память стирает. пытаюсь залить прошивку, не хватает памяти Opereation exceeds memory limit. Хотя характеристики камней похожи. В чем может быть проблема??

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