Как и чем прошить STM32 STM32F103C8T6 на примере blue pill.

Данное руководство по прошивке микроконтроллеров STM32. В частности и на примере blue pill, на которой установлен контроллер STM32F103C8T6. Если вы знакомы с ардуино, то понимаете, что контроллер можно прошить программатором, либо через встроенный загрузчик. Но в отличии от AVR, и arduino в семействе STM32 загрузчик уже зашит в микроконтроллер. Да, не нужно прошивать загрузчик в пустой кристалл! Он уже зашит с завода, и зашит так, что он не может слететь. Что бы вы не вытворяли с STM32 загрузчик не слетит.

Кто сидит на arduino знакомы с этой проблемой, чуть косяк с прошивкой, чуть она длиннее положеного или указали не тот камень и прошивка затирает загрузчик arduino. При этом, что бы его восстановить нужен программатор. Есть в STM32 еще одна прекрасная вешь, это отсутствие фьюз! то есть конфигурирование микроконтроллера происходит из программы! Не нужно указывать откуда тактироваться, какие режимы включать и т.д. Тиким образом STM32 может по ходу выполнения кода сам себя разгонять – когда нужна производительность, вжарить на максимальной частоте, а потом снизить тактовую частоту и экономить батарейку.

И при этом его в отличии от AVR не окирпичить неправильно зашитыми фьюзами! Неграмотными действиями при прошивке вы не убьете STM32, не переживайте! Да AVR можно восстановить высоковольтным программатором, но у всех ли он есть? Я собирал AVR FUSE BIT DOCTOR для этого. Был грешок, косячил с тактированием.

Теперь о 2х самых распространенных. Это через этот самый загрузчик и через отладочный разьем. В первом случае потребуется USB то UART переходник. Кто пользуется ардуино у них эти переходники или есть, или распаяны на плате с ардуино.

Если нету, то лучше купить внешний, например такой

CH340G RS232
CH340G RS232

И ссылка на него: http://ali.pub/3h3a28

Прошивка STM32 (STM32F103C8T6 )через UART, через выстроенный загрузчик.

Для прошивки через встроенный загрузчик потребуется программа Flash Loader Demonstrator.

Во первых переходник нужно переключить на напряжение 3,3 вольта.

USB to UART для STM32
Перемычка на 3,3 вольта

Заем подключить этот переходник к компьютеру и к самой голубой таблетке, а на таблетке переставить перемычку. Эта перемычка говорит контролеру, с чего загружаться. В данном случае будет загружена не прошивка, а загрузчик. Подключать стоит TX к RX а RX к TX. Если перепутаете, то ничего страшного не произойдет. Просто программа не увидит контроллер, и потом провода можно поменять местами. Нельзя путать только + и – питания.

Установка перемычек
Установка перемычек

Запустить программу Flash Loader Demonstrator и выбрать в ней COM порт, к которому подключена плата (если в компьютере у вас нет ком порта, то в списке будет всего 1 порт, не ошибетесь).

Выбор порта в программе flash loader demonstrator
Выбор порта в программе flash loader demonstrator

Дальше, если все верно подключено, то программа выведет вот такое вот окно.

Контроллер обнаружен flash loader demonstrator
Контроллер обнаружен flash loader demonstrator

Тут выбирать больше не чего, и нужно нажать кнопку NEXT. На следующей вкладке программы, на которой тоже ничего интересного, просто служебная информация, которая мало кому интересна, трогать тут ничего не нужно, и смело можно жать NEXT.

А вот на следующей вкладке нужно выбрать файл который нужно прошить.

Выбор файла для прошивки
Выбор файла для прошивки

Больше тут ничего трогать не надо, жмем порядком надоевший NEXT, и запускаем тем самым процесс прошивки.

Прогресс бар прошивки
Прогресс бар прошивки

Шкала пробежит 2 раза, один раз прошивка, второй раз сравнение того, что прошилось с оригинальным файлом, так программа проверяет, все ли правильно прошилось и не попал ли какой мусор. После этого программа гордо выведет на экран вот такое вот окно.

Окончание прошивки микроконтроллера
Окончание прошивки микроконтроллера

Поздравляю! Прошивка в плате, что бы она запустилось, нужно вернуть перемычку на плате на место.

Прошивка через отладчик.

Быстрее и удобнее все же прошивать СТМ32 программатором через SWD разьем. Если соберетесь программировать под STM32 то вам понадобится отладчик! Это очень удобная вешь. При отладке можно построчно выполнять код в микроконтроллере, и при этом видеть в каком состоянии какая переыерия, и в каком регистре какое значение! даже на компе нет таких возможностей, как в STM32. В общем рекомендую брать STLINK – на вырост так сказать, при этом стоит он столько же, сколько и голубая таблетка.

Плата Stlink ST-Link V2

Китайский клон ST-LINK V2
Китайский клон ST-LINK V2 для STM32

http://ali.pub/3h38sc

http://ali.pub/3h390i

Соответственно это все китайские клоны, но они прекрасно работают и даже в них самих можно обновить прошивку через программу STM32 ST-LINK Utility.

Прошить контроллер так же просто как и с помощью загрузчика, даже еще проще. Для начала нужно подключить STLINK к bluepill. В голубой таблетке для этого выведены отдельные 4 линии, для питания и отладки. На платах есть вся необходимая маркировка, схема не нужна.

Дальше необходимо запустить программу STM32 ST-LINK Utility

STM32 ST-LINK Utility
STM32 ST-LINK Utility

Для открытия файла с прошивкой необходимо выбрать File->OpenFile и выбрать файл для прошивки

STM32 ST-LINK Utility  с открытым файлом

STM32 ST-LINK Utility с открытым файлом

Что бы подключиться к контроллеру необходимо нажать эту кнопку. Контроллер уже должен был быть подключен к программатору, а программатор (отладчик, STLINK, называйте как хотите), к USB порту. Драйвера на ST-Link искать не нужно, они автоматически ставятся с утилитой.

STM32 ST-LINK Utility  подключение к микроконтроллеру

STM32 ST-LINK Utility подключение к микроконтроллеру

Для запуска процесса прошивки необходимо выбрать пункт Target->Program или Target->Program & Verufyty. Во втором случае помимо прошивки, произойдет еще чтение зашитой прошивки обратно и сравнение её с оригиналом, на предмет косяков и мусора. Так вы будете знать, зашилась прошивка верно, или что то пошло не так.

STM32 ST-LINK Utility  заливка прошивки

STM32 ST-LINK Utility заливка прошивки
 
STM32 ST-LINK Utility  заливка прошивки -старт

STM32 ST-LINK Utility заливка прошивки -старт

Сама прошивка занимает немного времени.

STM32 ST-LINK Utility  процесс заливка прошивки


STM32 ST-LINK Utility процесс заливка прошивки

После успешной прошивки увидите вот эту надпись.

STM32 ST-LINK Utility  процесс заливка прошивки


STM32 ST-LINK Utility процесс заливка прошивки

Поздравляю! микроконтроллер прошит.

И ничего в этом сложного не было. В любом случае, если остались вопросы, то пишите в группу в VK

https://vk.com/public179183134

Автор: Ryazanec13

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *