Данное руководство по прошивке микроконтроллеров STM32. В частности и на примере blue pill, на которой установлен контроллер STM32F103C8T6. Если вы знакомы с ардуино, то понимаете, что контроллер можно прошить программатором, либо через встроенный загрузчик. Но в отличии от AVR, и arduino в семействе STM32 загрузчик уже зашит в микроконтроллер. Да, не нужно прошивать загрузчик в пустой кристалл! Он уже зашит с завода, и зашит так, что он не может слететь. Что бы вы не вытворяли с STM32 загрузчик не слетит.
Кто сидит на arduino знакомы с этой проблемой, чуть косяк с прошивкой, чуть она длиннее положеного или указали не тот камень и прошивка затирает загрузчик arduino. При этом, что бы его восстановить нужен программатор. Есть в STM32 еще одна прекрасная вешь, это отсутствие фьюз! то есть конфигурирование микроконтроллера происходит из программы! Не нужно указывать откуда тактироваться, какие режимы включать и т.д. Тиким образом STM32 может по ходу выполнения кода сам себя разгонять — когда нужна производительность, вжарить на максимальной частоте, а потом снизить тактовую частоту и экономить батарейку.
И при этом его в отличии от AVR не окирпичить неправильно зашитыми фьюзами! Неграмотными действиями при прошивке вы не убьете STM32, не переживайте! Да AVR можно восстановить высоковольтным программатором, но у всех ли он есть? Я собирал AVR FUSE BIT DOCTOR для этого. Был грешок, косячил с тактированием.
Теперь о 2х самых распространенных. Это через этот самый загрузчик и через отладочный разьем. В первом случае потребуется USB то UART переходник. Кто пользуется ардуино у них эти переходники или есть, или распаяны на плате с ардуино.
Если нету, то лучше купить внешний, например такой
И ссылка на него: http://ali.pub/3h3a28
Прошивка STM32 (STM32F103C8T6 )через UART, через выстроенный загрузчик.
Для прошивки через встроенный загрузчик потребуется программа Flash Loader Demonstrator.
Во первых переходник нужно переключить на напряжение 3,3 вольта.
Заем подключить этот переходник к компьютеру и к самой голубой таблетке, а на таблетке переставить перемычку. Эта перемычка говорит контролеру, с чего загружаться. В данном случае будет загружена не прошивка, а загрузчик. Подключать стоит TX к RX а RX к TX. Если перепутаете, то ничего страшного не произойдет. Просто программа не увидит контроллер, и потом провода можно поменять местами. Нельзя путать только + и — питания.
Запустить программу Flash Loader Demonstrator и выбрать в ней COM порт, к которому подключена плата (если в компьютере у вас нет ком порта, то в списке будет всего 1 порт, не ошибетесь).
Дальше, если все верно подключено, то программа выведет вот такое вот окно.
Тут выбирать больше не чего, и нужно нажать кнопку NEXT. На следующей вкладке программы, на которой тоже ничего интересного, просто служебная информация, которая мало кому интересна, трогать тут ничего не нужно, и смело можно жать NEXT.
А вот на следующей вкладке нужно выбрать файл который нужно прошить.
Больше тут ничего трогать не надо, жмем порядком надоевший NEXT, и запускаем тем самым процесс прошивки.
Шкала пробежит 2 раза, один раз прошивка, второй раз сравнение того, что прошилось с оригинальным файлом, так программа проверяет, все ли правильно прошилось и не попал ли какой мусор. После этого программа гордо выведет на экран вот такое вот окно.
Поздравляю! Прошивка в плате, что бы она запустилось, нужно вернуть перемычку на плате на место.
Прошивка через отладчик.
Быстрее и удобнее все же прошивать СТМ32 программатором через SWD разьем. Если соберетесь программировать под STM32 то вам понадобится отладчик! Это очень удобная вешь. При отладке можно построчно выполнять код в микроконтроллере, и при этом видеть в каком состоянии какая переыерия, и в каком регистре какое значение! даже на компе нет таких возможностей, как в STM32. В общем рекомендую брать STLINK — на вырост так сказать, при этом стоит он столько же, сколько и голубая таблетка.
Плата Stlink ST-Link V2
Соответственно это все китайские клоны, но они прекрасно работают и даже в них самих можно обновить прошивку через программу STM32 ST-LINK Utility.
Прошить контроллер так же просто как и с помощью загрузчика, даже еще проще. Для начала нужно подключить STLINK к bluepill. В голубой таблетке для этого выведены отдельные 4 линии, для питания и отладки. На платах есть вся необходимая маркировка, схема не нужна.
Дальше необходимо запустить программу STM32 ST-LINK Utility
Для открытия файла с прошивкой необходимо выбрать File->OpenFile и выбрать файл для прошивки
Что бы подключиться к контроллеру необходимо нажать эту кнопку. Контроллер уже должен был быть подключен к программатору, а программатор (отладчик, STLINK, называйте как хотите), к USB порту. Драйвера на ST-Link искать не нужно, они автоматически ставятся с утилитой.
Для запуска процесса прошивки необходимо выбрать пункт Target->Program или Target->Program & Verufyty. Во втором случае помимо прошивки, произойдет еще чтение зашитой прошивки обратно и сравнение её с оригиналом, на предмет косяков и мусора. Так вы будете знать, зашилась прошивка верно, или что то пошло не так.
Сама прошивка занимает немного времени.
После успешной прошивки увидите вот эту надпись.
Поздравляю! микроконтроллер прошит.
И ничего в этом сложного не было. В любом случае, если остались вопросы, то пишите в группу в VK
ёманарот вот ты мля чайник бесграмотный