Одна из предыдущих статей (вот она) была посвящена тому, как прошивать контроллер на отладочной плате STM32VLDiscovery, но этого же нам мало ) Давайте попробуем прошить сторонний микроконтроллер, используя STM32VLDiscovery в качестве ST-Link программатора. То есть из Discovery мы сделаем программатор микроконтроллеров для других плат. У меня вот, например, лежит отличная отладочная плата Mini STM32 с контроллером STM32F103VET6, его то как раз я и буду прошивать. И сразу переходим от слов к делу...
Для начала подготовим Discovery для прошивки внешнего контроллера. Для этого надо убрать два джампера:
Теперь находим SWD разъем на плате, вот он:
Если расположить плату как на рисунке, то верхний пин является первым, то есть в соответствии с таблицей – VDD_TARGET:
Его мы кстати использовать сегодня не будем. Подключать внешний контроллер мы будем тремя проводами – это общий провод (земля), тактовый сигнал SWD (SWD Clock) и SWD Data. Осталось понять, где какие пины у микроконтроллера, который мы собираемся прошить. Для этого берем даташит и лезем в распиновку. Там нас интересуют пины SWDIO и SWCLK. Для моего контроллера STM32F103VET6:
Вот оно то, что надо – пины PA13, PA14. Осталось только соединить! Подключаем три проводка к разъему SWD на Discovery - второй пин разъема заводим на PA14, четвертый на PA13, ну и перекидываем землю на внешний микроконтроллер, который мы собираемся прошивать. Запитываем наш программируемый контроллер как обычно, STM32VLDiscovery пусть использует питание от USB. Вот, собственно, и все. Прошиваем точно так же, как мы прошивали контроллер на плате Discovery, об этой статье я уже говорил чуть выше, в самом начале )
Вот, в принципе, и все, что мы хотели сделать, получилось как задумывалось. Это оказалось довольно-таки просто, но, согласитесь, штука полезная. У многих есть STM32VLDiscovery, так почему же не использовать ее в качестве программатора микроконтроллеров STM32 на других платах. На сегодня это все, до скорых встреч, оставайтесь на связи!