Конечно для прошивки можно использовать отдельный программатор ST-Link, который маленький, удобный и недорогой (всего $2.65). А вот тут или тут можно почитать как сделать такой программатор самому. Но зачем, если он уже у меня есть. Поэтому встала задача как соединить программатор на Discovery с платой на STM32F103C8T6. Далее я опишу подробно что надо сделать.
Плата Discovery и разъем SWD выглядят так:
![]() |
Выходы программатора на STM32F100-Discovery |
![]() |
Подробное описание блоков платы |
Собственно весь алгоритм заключается в следующем:
- Ставим две перемычки на плате STM32103C8T6 в положение ближе к разъему microUSB (как на фото ниже).
- Подключаем ST-Link (с STM32Discovery board или другого) к плате четырьмя проводами - т.е. одноименные выводы SWD интерфейса соединяем на двух платах вместе. Самое главное - правильно подключить питание, иначе может сгореть. Внимательнее: последовательность выводов на платах не совпадает!
- Для прошивки снимаем две перемычки на STM32Discovery (1 и 2 на рисунке выше), тем самым отключая встроенный программатор от МК на Discovery (чтоб перемычки не потерялись, лучше оставлять их на разъеме, подключив только к одной ноге)
- Подаем на плату STM32103C8T6 питание через Mini-USB шнурок или через пины на плате +5В/+3.3В
- Подключаем STM32Discovery к компьютеру.
- Прошиваем. Я использую для прошивки CooCox IDE.
Для работы залитой прошивки надо переключить обе перемычки на плате в положение ближе к USB разъему (как на фото ниже).
Кстати вот подробная распиновка выводов платы: