Как прошить miniSTM32F103V.
Самый простой и доступный способ прошивки STM32 – с помощью бутлоудера, в этой статье мы рассмотрим как это сделать на примере платы miniSTM32F103V.
Для начала давайте разберёмся, что такое бутлоадер или как его ещё называют загрузчик. Загрузчик — это просто программа, которая хранится в определённой секции памяти и может перезаписывать флеш микроконтроллера. Она зашивается при производстве чипа и её нельзя изменить каким-либо образом. Для того чтобы микроконтроллер зашёл в эту секцию памяти, надо вывод BOOT0 подтянуть к питанию, а вывод BOOT1 к земле. На плате эти два вывода находятся возле usb разъема, а подтяжка осуществляется с помощью перемычек.
Ниже приведена таблица, которая определяет с какой области памяти запустится микроконтроллер после сброса, в зависимости от BOOT0 и BOOT1.
Предположим мы установили перемычки, теперь надо передать загрузчику hex-файл с прошивкой, передавать будем по uart, для этого нам потребуется преобразователь usb-uart.
У меня такой преобразователь сделан на основе микросхемы FT232RL, используя тонкое жало для паяльной станции запаять её очень просто. Методика запайки следующая, первым дело надо прихватить по ножке с двух противоположных углов, затем когда микросхема зафиксирована, пропаять остальные ножки паяльником или феном. И последний штрих, ещё раз пропаиваем ножки, которые запаяли первыми, чтобы снять с них механическое напряжение.
Подключаем переходник usb-uart к компьютеру и в зависимости от того на какой микросхеме он сделан CP2120 или FT232, устанавливаем соответствующие драйвера. После этого он должен определиться в системе как COM_PORT.
Теперь подключим наш переходник к плате, вывод RX переходника соединяем с выводом MCU_TхD, а вывод ТХ с выводом MCU_RхD. Топология платы, которую выслал продавец, немного отличается от той, что на верхней картинке, выводы для прошивки выведены отдельно и отмечены красными стрелочками.
Далее надо скачать программу, с помощью которой будем связываться с загрузчиком, называется она FLASH LOADER DEMONSTRATOR.
После установки программы выбираем com port, под которым определился наш переходник usb-uart и нажимаем кнопку NEXT, скорость определится автоматически. Если контроллер защищён от считывания, то защиту можно снять, нажав кнопку "Remove Protection" при этом флеш память будет стёрта и соответственно все данные, которые в ней записаны потеряны.
Если контроллер не защищён появится окно изображенное ниже, в нём нажимаем кнопку NEXT.
В следующем окне нужно выбрать, что мы хотим сделать: считать/записать флеш микроконтроллера, стереть её, запретить чтение\запись, нас интересует запись, для этого выбираем файл, который хотим загрузить и нажимаем NEXT.
По завершении записи, если она прошла успешно, появиться следующее окно.
Заключительный шаг, устанавливаем перемычки для запуска программы из флеш и жмем кнопку RESET, на этом прошивка окончена.
Там где брал уже закончились, но такая же продаётся тут.
Cхема
Для начала давайте разберёмся, что такое бутлоадер или как его ещё называют загрузчик. Загрузчик — это просто программа, которая хранится в определённой секции памяти и может перезаписывать флеш микроконтроллера. Она зашивается при производстве чипа и её нельзя изменить каким-либо образом. Для того чтобы микроконтроллер зашёл в эту секцию памяти, надо вывод BOOT0 подтянуть к питанию, а вывод BOOT1 к земле. На плате эти два вывода находятся возле usb разъема, а подтяжка осуществляется с помощью перемычек.
Ниже приведена таблица, которая определяет с какой области памяти запустится микроконтроллер после сброса, в зависимости от BOOT0 и BOOT1.
Предположим мы установили перемычки, теперь надо передать загрузчику hex-файл с прошивкой, передавать будем по uart, для этого нам потребуется преобразователь usb-uart.
У меня такой преобразователь сделан на основе микросхемы FT232RL, используя тонкое жало для паяльной станции запаять её очень просто. Методика запайки следующая, первым дело надо прихватить по ножке с двух противоположных углов, затем когда микросхема зафиксирована, пропаять остальные ножки паяльником или феном. И последний штрих, ещё раз пропаиваем ножки, которые запаяли первыми, чтобы снять с них механическое напряжение.
Подключаем переходник usb-uart к компьютеру и в зависимости от того на какой микросхеме он сделан CP2120 или FT232, устанавливаем соответствующие драйвера. После этого он должен определиться в системе как COM_PORT.
Теперь подключим наш переходник к плате, вывод RX переходника соединяем с выводом MCU_TхD, а вывод ТХ с выводом MCU_RхD. Топология платы, которую выслал продавец, немного отличается от той, что на верхней картинке, выводы для прошивки выведены отдельно и отмечены красными стрелочками.
Далее надо скачать программу, с помощью которой будем связываться с загрузчиком, называется она FLASH LOADER DEMONSTRATOR.
После установки программы выбираем com port, под которым определился наш переходник usb-uart и нажимаем кнопку NEXT, скорость определится автоматически. Если контроллер защищён от считывания, то защиту можно снять, нажав кнопку "Remove Protection" при этом флеш память будет стёрта и соответственно все данные, которые в ней записаны потеряны.
Если контроллер не защищён появится окно изображенное ниже, в нём нажимаем кнопку NEXT.
В следующем окне нужно выбрать, что мы хотим сделать: считать/записать флеш микроконтроллера, стереть её, запретить чтение\запись, нас интересует запись, для этого выбираем файл, который хотим загрузить и нажимаем NEXT.
По завершении записи, если она прошла успешно, появиться следующее окно.
Заключительный шаг, устанавливаем перемычки для запуска программы из флеш и жмем кнопку RESET, на этом прошивка окончена.
Там где брал уже закончились, но такая же продаётся тут.
Cхема
Похожие статьи