Stm32 arduino ide установка



Прошивка платы STM32F103C8T6 с помощью usb/ttl и st-link v2. Подготовка программы arduino IDE для работы с платой.

Итак. Не будем здесь описывать для чего нужна данная плата. Думаю те кто ей заинтересовался знают о ее возможностях.

Но распиновку устройства все-же покажу для наглядности:

Я лишь покажу здесь как подключить usb/ttl или st-link для прошивки устройства. И как подготовить программу arduino ide для прошивки stm32.

Чтоб начать работу данной платы с arduino ide. Нам необходимо подключить usb/ttl конвертер к плате следующим образом:

ВАЖНО! Микроконтроллер stm32 имеет 3.3 вольтовую логику. Следовательно и usb/ttl должен быть таковым. Я же прошивал на видео обычным, который имеет 5 вольтовую логику. Но это не правильно. Всегда есть риск спалить устройство.

Также нужно поставить джампер как показано на картинке.

Итак, после того как подключили конвертер к плате и поставили перемычку правильно. Нам нужно скачать несколько приложений:

  1. Программа STM32 Flash loader demonstrator. Она нужна для первой прошивки микроконтроллера, чтоб он смог в дальнейшем прошиваться через arduino ide. Скачать программу можно с официального сайта перейдя по ссылке: https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/flasher-stm32.html#
  2. STM32duino-bootloader. Тут находится прошивка необходимая для первой прошивки устройства. Качаем сразу целиком архив со страницы проекта на github: https://github.com/rogerclarkmelbourne/STM32duino-bootloader
  3. Arduino_STM32. Это платы stm32 которые необходимо добавить в arduino ide для того чтоб выбрать нужную плату во время заливки скетча. Скачиваем архив со страницы github: https://github.com/rogerclarkmelbourne/Arduino_STM32. Кладем содержимое архива по пути: Документы/arduino/hardware/

После того как все скачали, разархивируем архивы. Устанавливаем программу STM32 Flash loader demonstrator. Она не устанавливается на рабочий стол. Ее можно найти по слову deminstrator gui. После того как установили приложение. Откроем его.

И откроется первое окно, в котором выбираем COM порт которым определился usb/ttl конвертер. И нажимаем кнопку далее.

В этом окне если у Вас в первом блоке есть красные надписи, то нажимаем кнопку “Remove protection” и нажимаем Next. Ну и если у Вас все также как у меня на скрине, то ничего не делаем а сразу нажимаем “Next”.

Тут выбираем какая у нас плата. Возможно выбрать из двух вариантов. на 64К и на 128К. В моем случае это на 64К. Как определить? Если у Вас микроконтроллер STM32F103C8 то это 64К. А если STM32F103CB то это 128К.

После того как выбрали контроллер, нажимаем “Next”

В этом окне выбираем “Download from file” и переходим в распакованный архив STM32duino-bootloader. Там в папку binaries и выбираем файл gd32f1_pc13.bin .

Ну и тоже нажимаем далее. После этого начнется загрузка .bin файла.

После загрузки закрываем программу.

И открываем Arduino ide.

Если Вы ахив Arduino_stm32 положили корректно по пути Документы/arduino/hardware/ То при открытии программы Arduino ide в Инструменты в выборе платы должна появиться возможность выбора платы:

И для того чтоб плату заливался скетч необходимо выбрать “Generic STM32F103C series

Теперь что касается прошивки. У меня работает 2 метода. Первый это прошивка через usb/ttl. Для этого нужно выбрать в “Upload method” нужно выбрать ” serial:

И все у Вас замечательно загрузится в микроконтроллер.

Но платы STM32F103C8T6 часто предлагают на aliexpress сразу с программатором st-link v2. С ним скетч в плату загружается гораздо быстрее. У него сразу 3.3 вольтовая логика, какраз которую хочет наш контроллер. По этому правильнее будет грузить программы в контроллер через st-link. Для этого подключим его к плате следующим образом:

После подключения, в “Upload method” нужно выбрать “STLink” и все. Теперь будет загружаться все через данынй свисток.

На этом все. Спасибо за внимание. Надеюсь статья помогла Вам.

Читайте также:  Установка дисков от оки

Источник

Stm32 arduino ide установка

Отладочная плата F103C8T6 на базе STM32 по параметрам значительно опережает аналогочные по размеру Arduino Nano или Leonardo, а по скорости близка к Arduino DUE. Есть интерес попробовать, но у новичка могут возникнуть трудности с первым запуском и программированием данной платы. Теперь есть возможность заливать скетчи через Arduino IDE. Подробности далее.

Содержание

  1. Отличия STM32F103C8T6 от Arduino Nano v3.0
  2. Подготовка железа
  3. Подготовка ПО
  4. Закачка скетча (blink) в плату

1. Отличия STM32F103C8T6 от Arduino Nano v3.0

STM32F103C8T6 Arduino
Nano v3.0
Частота ядра 72 МГц 16 МГц
Память для кода (Flash) 64 кбайта 32 кбайта
Память для переменных ОЗУ (SRAM) 20 кбайт 2 кбайта
Рабочее напряжение 3.3В
Память EEPROM отсутствует, но существуют
программные эмуляторы
1 кбайт

2. Подготовка железа

Для работы нам понадобится:

  • Сама плата STM32F103C8T6
  • Соединительные провода Dupont мама-мама

Для активации режима программирования на плате STM следует преставить перемычки: первая на 1, вторая на 0.

Конвертер FTDI переключить на питание 3.3 Вольта (перемычкой/джампером)

Соединить проводами плату (П) и конвертер (К):

stm32 pins

3. Подготовка ПО

    , которое будет поддерживать платы STM32
  1. Распаковать архив в папаку HARDWARE, которую можно найти в папке вашей Arduino IDE
  2. Запустить Arduino IDE (или перезапустить если была открыта) и проверить появился ли раздел STM32 Boards в списке Плат

4. Закачка скетча (blink) в плату

В папке которую мы распаковали в п.3.б заходим по следующему пути: Arduino_STM32\examples\Digital\Blink\ и через Arduino IDE открываем файл blink.ino либо можете взять текст отсюда:

Далее в Arduino IDE:

  • Выбрать плату Generic STM32F103C series
  • Выбрать Variant: (20k RAM. 64k Flash)
  • Выбрать Upload method: «Serial»
  • Выбрать Порт: (порт сооответствующий FTDI конвертеру)

Жмем кнопку Вгрузить и результат сразу должен быть виден.

Всё сделал по описанию,но при загрузке появляется ошибка
Arduino: 1.6.5 (Windows 7), Плата»Generic STM32F103C series, STM32F103C8 (20k RAM. 64k Flash), STM32duino bootloader»

Изменена опция сборки, пересобираем все

Cannot run program «\bin\arm-no ne-eabi-g++» (in directory «.»): CreateProcess error=2, Не удается найти указанный файл

Это сообщение будет содержать больше информации чем
«Отображать вывод во время компиляции»
включено в Файл > Настройки

У меня все заработало с первой попытки по рекомендациям статьи. Светодиод мигает Arduino IDE 1.8.1, Установил в медежере плат http://dan.drown.org/stm32duino/package_STM32duino_index.json и после этого вид платы STM32F1

Вот так:
C:\Users\Saddamko\AppData\Local\Temp\arduino_build_147792/sketch_jan14b.ino.bin
stm32flash 0.4

Using Parser : Raw BINARY
Interface serial_w32: 230400 8E1
Version : 0x22
Option 1 : 0x00
Option 2 : 0x00
Device ID : 0x0410 (Medium-density)
— RAM : 20KiB (512b reserved by bootloader)
— Flash : 128KiB (sector size: 4×1024)
— Option RAM : 16b
— System RAM : 2KiB
Write to memory
Erasing memory

Wrote address 0x08000100 (3.15%)
.
Wrote address 0x08001fb8 (100.00%) Done.

Источник

STM32 Переходим с Arduino на Stm32. Шаг за шагом.

Привет друзья!
Решил выпустить небольшую серию видеоуроков о переходе с платформы Arduino на STM32.
Скажу сразу — я не профессионал. Я так же учусь. Надеюсь мои разборы хоть кому-то будут полезны
Данный курс нацелен больше на новичков. Тех, кто только-только начинают осваивать 32-битные МК от STMicroelectronics. Если есть чего предложить, показать — милости просим к нам в команду.

Список уроков:

SieOK

Переходим с Arduino на Stm32. Шаг за шагом.

Привет друзья!
Решил выпустить небольшую серию видеоуроков о переходе с платформы Arduino на STM32.

Если есть чего предложить, показать — милости просим к нам в команду.

Эдуард Анисимов

Никогда не верьте этому чуваку.
Пиздобол 146%. Информации много, но качество говно. Особенно видосики. 20 минут жуёт сопли и 3 минуты полезной информации.
Остальные два ресурса заслуживают внимания.
Я все сайты с полезной информацией перегоняю в pdf. На этого чувака напоролся на самого первого. Но когда нашёл ресурсы
DiMoon
Microsin
Hamper
и т.д. я понял что человек фуфло и без сожаления стёр весь каталог с его уроками.

Читайте также:  Буровая установка шасси урал

А Олега сюда подтянул Алекс, что бы у людей, которым надоела ардуина, была альтернатива для занятия более интересной платформой.

Волков Олег

@Эдуард Анисимов,
Да, на narod stream очень много чего лишнего и не по делу, особенно собирание проекта в total commander. Много ошибок и прочего.
Но я все равно ему очень благодарен, т.к. он дал мне огромный рывок для старта. Особенно его пояснения по языку C.
Да и вообще в целом, ничего плохого про него сказать не могу. Да, человек явно работает на количество контента, а не на качество. Но это его дело.
Тут уж кому что нравится, тот то и смотрит. Главное усвоить материал и уметь им пользоваться.

Для тех, кто только начинает переходить на Stm32, обычно советую:
Книгу: "Си для встраиваемых систем".
Ну и курс этого же автора "Штурмуем STM32".
По языку Си имею всегда под рукой книгу: "Си для программистов с введением в C11"

Эдуард Анисимов

Волков Олег

Эдуард Анисимов

Видел этот курс. У них защита от копирования. Только они не думали, что на бывшего веб программиста напорятся.

Это более менее систематизированная информация. https://yadi.sk/d/BTdrPwCa_7eDcg

Волков Олег

Видел этот курс. У них защита от копирования. Только они не думали, что на бывшего веб программиста напорятся.

Это более менее систематизированная информация. https://yadi.sk/d/BTdrPwCa_7eDcg

bort707

Судя по оглавлению, книжка выше — банальный букварь Си, в котором иногда (зачем-то?) упоминается стм32. Нафига за нее платить 15 баксов, мало в сети бесплатных учебников?

Если хочется реально разобраться в архитектуре СТМ — я вот такую книжку советую
Сarmine Noviello Mastering-stm32

Можно найти в инете бесплатно в ПДФ, если поискать.
А книжкам наших авторов я как-то не доверяю, на 90% это пиратские перевранные переводы иностранных книг. только еще с ошибками.
Лучше сразу оригинал читать.

Эдуард Анисимов

bort707

m_sav

Эдуард Анисимов

@m_sav, Так давайте здесь это замутим.
Алекс добро дал. Подраздел для STM выделил.
Когда полезные материалы разрастутся, можно будет и дальше думать.

А сделать материал 100% как по ардуино невозможно.
У одних только таймеров столько режимов, что одна их инициализация занимает много страниц во множественных талмудах.

Эдуард Анисимов

kostyamat

Эдуард Анисимов

kostyamat

@Эдуард Анисимов,
Да, действительно, сейчас работает. Ночью все, кроме главной, было 440.

Пс. Ваша подборка на я.диске кстати тоже куда-то делась.

Эдуард Анисимов

disk.yandex.ru

STM32

Эдуард Анисимов

В каталоге "Статьи" добавлен каталог :
Сенсорные кнопки.
Регистры периферии.

В разделе "книги" закачана книга "Кармин Новиелло — Освоение STM32" на русском.

Залит каталог "Схемы и прошивки для разных MCU.

Diman

Эдуард Анисимов

Подкинул файлов на диск.
Вот список.
Статьи\SPI\ STM32 SPI LCD — Вы всё делаете не так.pdf

Статьи\_Прерывания\ Изменение вектора прерывания.pdf
Статьи\_Прерывания\ Прерывания, события и NVIC.pdf
Статьи\_Прерывания\ Прерывания в STM32. Регистры..pdf
Статьи\_Прерывания\ Контроллер прерываний NVIC.pdf

Статьи\Автор — Microsin\ STM32F4xx интерфейс SPI.pdf

Статьи\_Память\ Проектирование стека и кучи в IAR.pdf
Статьи\_Память\ Азы распределения памяти и кода.pdf

Статьи\_Энергопотребление\ Оптимизация энергопотребления.pdf

Статьи\_Программирование\ Передача массивов.odt

Статьи\_Регистры периферии\ Регистры часов реального времени в микроконтроллерах STM32.pdf

Техническая документация STM\Общее\ AN2606 — STM32 microcontroller system memory boot mode.pdf
Техническая документация STM\Общее\ AN3070 — Managing the Driver Enable signal for RS-485.pdf
Техническая документация STM\Общее\ AN3155 — USART protocol used in the STM32 bootloader.pdf
Техническая документация STM\Общее\ AN3997 — Audio playback and recording using the STM32F4DISCOVERY.pdf
Техническая документация STM\Общее\ AN4076 — Two or three shunt resistor based current sensing circuit design in 3-phase inverters.pdf
Техническая документация STM\Общее\ AN4229 — How to implement a vocoder solution.pdf
Техническая документация STM\Общее\ AN4488 — Getting started with STM32F4xxxx MCU hardware development.pdf
Техническая документация STM\Общее\ AN4838 — Managing memory protection unit in STM32 MCUs.pdf
Техническая документация STM\Общее\ AN4989 — STM32 microcontroller debug toolbox.pdf
Техническая документация STM\Общее\ AN5020 — Digital camera interface (DCMI).pdf
Техническая документация STM\Общее\ AN5027 — Interfacing PDM digital microphones.pdf
Техническая документация STM\Общее\ AN5225 — USB Type-C Power Delivery.pdf

Читайте также:  Пресс для установки кнопок минск

Техническая документация STM\Даташиты на Русском\ STM32F4xx — Datasheet.pdf

Техническая документация STM\Cortex-M3 STM32F10xx\ RM0008 — STM32F10xx RU.pdf
Техническая документация STM\Cortex-M4 STM32F3xx_F4xx\ RM0090 — STM32F4xx — RU.pdf

Книги\ Принципы программирования микроконтроллера STM32F407VGT6 d среде Keil.pdf
Книги\ STM32 — Внутреннее устройство.pdf

Из вкусного: Референс мануалы на серию 32F1xx и 32F4xx на русском языке.
Вся документация, кроме файлов с названиями на английском языке, переводы. Где то авторские, где то в свободной форме.

Источник

Arduino.ru

dimax аватар

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

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

dimax аватар

Для тех кто совсем не в курсе, но хочет понять о чём тут речь —
Arduino IDE «из коробки» не поддерживает микроконтроллеры STM32
Несколько энтузиастов сделали варианты дополнения, благодаря которому такая поддержка
появилась. Самый известный вариант сейчас -аддон от Роджера Кларка. https://github.com/rogerclarkmelbourne/Arduino_STM32
Это усовершенствованный вариант от компании Лифлабс, который та давным давно забросила.
Но теперь и этот аддон оказался заброошен, а сайт stm32duino.com лежит уже несколько месяцев.
Дополнено: сайт поднялся, аддон развивается дальше.

Наиболее перспективный на мой взгляд аддон от самих STM (судя по всему пока неофициальный) https://github.com/stm32duino/Arduino_Core_STM32
Он развивается, пополняется, в общем заслуживает внимания.
Список поддерживаемых плат и контроллеров https://github.com/stm32duino/Arduino_Core_STM32#boards-available
Установка https://github.com/stm32duino/wiki/wiki/Getting-Started

Замеченные мной баги:
-может глюковать при компиляции если системная временная папка у вас находится где-то на виртуальном рам-диске.
-аддон может не устанавливаться с сообщением Error downloading и.т.д. как лечить написано тут
https://github.com/stm32duino/BoardManagerFiles/issues/15
-может глюковать если в IDE уже установлен аддон от Роджера Кларка.

Отличия этого аддона от варианта Роджера Кларка:
— (самое главное) больше поддерживаемых МК
— тот основан на библиотеке Libmaple, а этот на CMSIS & HAL.
— есть выбор в меню платы создавать USBCDC или нет.
— использует собственный компилятор (а не компилятор от Due как было в том)

Варианты загрузки прошивки, которые есть в аддоне:

-STM32CubeProgrammer(SWD)
обычная загрузка через программатор. Если у вас Stlink версии 2.0, то он не поддерживается, нужно 2.1
Можно переделать ваш 2.0 в 2.1 по этой статье. https://habr.com/ru/post/442290/
Или сделать программатор из блюпилл по этой статье. https://istarik.ru/blog/stm32/107.html
Я переделал свой, теперь в програматоре и комп-порт появился, очень удобно.
Так же нужно дополнительно установить STM32CubeProg https://www.st.com/en/development-tools/stm32cubeprog.html

-STM32CubeProgrammer(Serial)
Видимо заливка через аппаратный сериал, не проверял.

-STM32CubeProgrammer(DFU)
заливка через заводской загрузчик. В 103 серии его нет. В F401
нужно нажать кнопку boot, а потом кнопку reset, и пойдёт загрузка.
-BMP (Black Magic Probe)
заливка через одноимённый программатор (не проверял)
-Hid Bootloader 2.2
Существует только для F103 и F407 https://github.com/Serasidis/STM32_HID_Bootloader
Проверил, довольно удобная штука. Но я планирую эксперементировать на F401, так что использовать не смогу.

Убедительная просьба не нажимать кнопку цитировать, иначе у меня не будет возможности дополнять этот пост

Источник

Adblock
detector