Какую ide выбрать для stm32
Перейти к содержимому

Какую ide выбрать для stm32

  • автор:

Какую IDE использовать для stm32?

hakain

Лично я вообще не использую IDE.
Я для себя решил, что для STM32 не существует нормальных сред.
В своем блоге для себя в виде памятки описывал как разворачивать рабочее пространство под линух, думаю на винду можно сделать то же самое.
Если в кратце, то:
1. Генерирую базовый проект с инициализацией периферии в STM32CubeMX
2. Код пишу в Sublime
3. Компилирую компилятором arm-none-eabi-gcc
4. Ну и прошиваю утилитой st-link

Ответ написан более трёх лет назад

Нравится 1 1 комментарий

STM32 IDE

STm32 IDE

Программирование stm32 стоит начать с изучения программного обеспечения для написания программ под данный микроконтроллер. На сегодняшний день разработано достаточно большое количество программ для написания программного кода под микроконтроллер Stm32 ( STM32 IDE ) и связанно это с большой популярностью данных микроконтроллеров.

В данной статье мы поговорим о наиболее популярных STM32 IDE, что бы вы смогли выбрать ту среду, которая больше всего подходит для вас.

  1. STM32CUBEMX;
  2. STM32CUBEIDE;
  3. KEIL;
  4. IAR Embedded Workbench for ARM;
  5. CodeGrip.

STM32CUBEMX

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

С помощью CubeMX пользователю предоставляется возможность настроить и сгенерировать библиотеку для работы с периферией STM32. Т.е. нет необходимости писать с нуля код для работы с UART или SPI, не нужно писать функцию чтения ADC или функции работы PWM. За вас все это сделает CubeMX. Нужно только правильно настроить необходимые блоки в визуальном редакторе.

Большим плюсом является то, что эта программа абсолютно бесплатная и разрабатывается производителем STM32 – STMicroelectronics. Это означает, что обновление будет выходит на постоянной основе, а так же при появлении новых микроконтроллеров, в этой среде они будут появляется раньше остальных. Сгенерировать библиотеки можно под разработку в таких STM32 IDE, как STM32CUBEIDE и KEIL.

STM32CUBEIDE

CUBEIDE STM32, среда разработки под контроллеры STM32 от компании производителя чипов STMicroelectronics. Данный программный продукт поставляется совершенно бесплатно. Что является большим плюсом.

На время написания статьи программу можно скачать, зарегистрировав аккаунт и указав европейскую страну. Так же необходимо использовать ВПН. Интерфейс CUBEIDE интуитивно понятен и содержит всё, что нужно для комфортной разработки (дебагер с отладкой в real time, просмотр переменных и т.д.).

Так же стоит отметить, что CUBEIDE все время развивается и поддерживается разработчиком. К минусам отнесем отсутствие документации на русском языке.

KEIL

Keil — одна из самых мощных IDE для разработки программ под микроконтроллеры STM32. Keil имеет свой собственный компилятор, позволяющий комфортно отлаживать программный код. В IDE используется язык программирования С\С++. Так же Keil имеет в своем распоряжение симулятор, который позволяет эмулировать некоторое железо, например UART.

Минусом данной IDE является платная лицензия. А так же то, что программа работает только в ОС Windows. На просторах интернета можно скачать активатор для Keil, но в таком случае у пользователей наблюдаются вылеты и подвисания программы.

IAR Embedded Workbench for ARM (IAR-EWARM)

Еще один хороший редактор кода с компилятором C\C++ для микроконтроллеров STM32. Этот редактор кода имеет в своем распоряжении более 4000 примеров по работе с периферией STM32. Так же IDE IAR в автоматическом режиме проверяет ваш код на правила MISRA C (MISRA C: 2004). Это правила написания отказа устойчивого программного кода.

Редактор поддерживает все контроллеры STM32, библиотеки для работы с периферией, а так же плагин для работы с RTOC (операционная система реального времени).

Минусом использования IDE IAR это то, что она является платной.

CodeGrip

Еще один редактор кода для микроконтроллеров STM32 от компании MICROE. Одним из отличий данного редактора является то, что редактор имеет такие компиляторы как: microC, microPascal, microBasic. Компиляторы разработаны под экосистему Microe, оптимизированы под отладочные комплекты компании. Большим минусом является платная лицензия на компилятор.

Какую выбрать среду разработки для STM32?

В заключение необходимо сказать о выборе STM32 IDE. Каждый из редакторов имеет и плюсы и минусы, в частности я выбрал для себя CUBEIDE в связке с CUBEMX. Данная среда разработки удовлетворяет всем моим запросам, а так же что немало важно она является бесплатной.

Easyelectronics.ru

В теме не разбираюсь.
В интернетах пишут разное: Keil, STM32 Cube MX и даже Arduino IDE.

Задача: передавать по wi-fi + tcp данные с сенсора.

Решили использовать STM32 + ESP8266.
Скорее всего менять подход не будем, но комментарий — возможно, STM32 слишком сложный для такой задачи — буду рад услышать.

Итак, с чем же лучше всего войти в мир программирования микроконтроллеров, имея Ubuntu и небольшой опыт web программирования?

Заголовок сообщения: Re: какая IDE для STM32 лучше?
Добавлено: 13 июн 2020, 21:41

Attilic (STM32CubeIDE), официальная IDE от производителя + Cube «хватит всем». Она не лучше и не хуже, просто, блудить будите меньше. А как образец, я бы порекомендовал посмотреть на CCS (Texas Instruments). А еще лучше Notepad++ плюс MakeFile. Я как раз озаботился поиском визарда для MakeFile. Notepad++ поддерживает бесчисленное множество кодировок и, можно писать имена переменных (метки, теги) на русском, да хоть китайском, главное препроцессор настроить, и пошли нафиг все IDE.

Последний раз редактировалось AstraHard 15 июн 2020, 00:11, всего редактировалось 2 раз(а).

Заголовок сообщения: Re: какая IDE для STM32 лучше?
Добавлено: 13 июн 2020, 21:48

Какой, нафиг, IDE, когда «в теме не разбираюсь»?
Для начала хотя бы с годик надо повелосипедить хэллоуворлды, чтобы понять, что и как…

Заголовок сообщения: Re: какая IDE для STM32 лучше?
Добавлено: 13 июн 2020, 21:54

Не надо закапывать, надо выкапывать, топикстартер еще не умер. «Нам» нужны не IDE а хорошие визарды, никто об этом ни слова, видимо уровень понимания хромает.

Заголовок сообщения: Re: какая IDE для STM32 лучше?
Добавлено: 13 июн 2020, 22:02

Я уже заметил, что, чем больше человек в теме, тем больше он «хромает», так что лучше говорить с новичками, у них «Глаз не замылен».

Заголовок сообщения: Re: какая IDE для STM32 лучше?
Добавлено: 13 июн 2020, 22:10

Визарды? Ну-ну. Сляпаем НËХ из говна и палок — и в продакшн!
Нет уж, сначала образование нужно получить, а потом уже что-то делать!
А то это напоминает первоклашку: чуваки, подскажите, как мне свернуть тензор Римана по-шустрому!

Заголовок сообщения: Re: какая IDE для STM32 лучше?
Добавлено: 13 июн 2020, 22:12
А каким боком Вам в этом деле помешает хороший визард? Кстати, давайте на русском ВОЛШЕБНИК.
Заголовок сообщения: Re: какая IDE для STM32 лучше?
Добавлено: 13 июн 2020, 22:13

Бгг.. Я 20 лет назад на эти «визарды» насмотрелся. Тоже был молодым и тупым.
Здесь варианта два: либо мозг, либо «визард». Третьего не дано.
Лишенные мозга калокуб используют или абдурину. Ну, про лифт на абдурине, думаю, все читали ☺

Заголовок сообщения: Re: какая IDE для STM32 лучше?
Добавлено: 13 июн 2020, 22:15

Я об этом речь и веду, ВОЛШЕБНИКИ малек протухли. Видимо АПОЛОГЕТЫ заблудились в своих «3-Х соснах» (проститутках), и чего-то подхватили, отчего мозги плавятся.

Заголовок сообщения: Re: какая IDE для STM32 лучше?
Добавлено: 13 июн 2020, 23:49
AstraHard писал(а):

Я уже заметил, что, чем больше человек в теме, тем больше он «хромает», так что лучше говорить с новичками, у них «Глаз не замылен».

Не всегда. Вон даже Джобс свой рачок в поджелудочной поначалу морковным соком «лечил», сказывают. Но, как говорится, не замылишься сам — намылят тебя, что и произошло. Проблема не в запуске наавтогенерированного кода — проблема в том чёрном дне, который неизбежно наступает, когда карточный домик рушится от сквозняка и непонятно куда бежать за помощью — кроме как к тем, кто «в теме». А они уже, чаще всего, злорадно отправляют пациента читать даташиты. Эдди просто указывает вам более прямолинейный путь через трясину, только и всего. 😉 Другой вопрос, что в личные жизненные планы такая переправа может и не входить, и для того, чтобы нарвать болотных лилий для барышни, скрутив попутно голову зазевавшейся в камышах утке, достаточно будет просто закатать до колен штаны. То бишь на разовый хапо́к и автогенератора хватит. Но в наступающих потом серых буднях инженера конфигуратор будет слабым подспорьем. Так что выбирайте по возможностям работы и навигации по коду. Я бы смотрел что-нибудь происхождением из конюшни эклипса — он много в каких ипостасях нынче встречается.

Заголовок сообщения: Re: какая IDE для STM32 лучше?
Добавлено: 13 июн 2020, 23:53
Заголовок сообщения: Re: какая IDE для STM32 лучше?
Добавлено: 14 июн 2020, 01:55
AstraHard писал(а):

Не надо закапывать, надо выкапывать, топикстартер еще не умер. «Нам» нужны не IDE а хорошие визарды, никто об этом ни слова, видимо уровень понимания хромает.

Визарды – жуткое говнище, делающееся на коленке, когда надо релизнуть инструмент побыстрее, и на нормальную кодогенерацию времени нет.

Вся суть визардов – когда тебе надо что-то поменять, ты просто делаешь всё заново. Это пиздец, простите мой французский.

Заголовок сообщения: Re: какая IDE для STM32 лучше?
Добавлено: 14 июн 2020, 01:58

Просто они не созрели. Макрософт идет в этом направлении, визарды (ограниченные) встречаться даже у DLL, это не может не нравиться. Почему бы библиотекам для ARM и его периферии не завести визарды? Это хорошо для обучения. Мне думается это, как оформление качественной документации. Вообще, несовременно кодить в ASCI. Пора иметь код оформленный как документы Word, Licre Office и.т.п. то есть XML, туда можно поместить и визард, по желанию, кто это желание не исполняет считать ленивым. Тогда, отомрет необходимость в elf формате и, IDE приобретут более стройный вид, в смысле соответствия философии portability и двоичному дереву и, повторному использованию, а также философии полиморфизма, коя, на мой взгляд, не реализована, от слова совсем.

Заголовок сообщения: Re: какая IDE для STM32 лучше?
Добавлено: 14 июн 2020, 02:22

Я б поржал, посмотрев на придурка, который вместо нормального сишного кода будет простыни на XML катать ☺
Если что, XML вообще не предназначен ни для чтения, ни (тем более) для записи человеком! Это — голимая (и сильно неудачная) попытка сериализации каскадных таблиц стилей вроде HTML. Оно пока живет лишь благодаря дикому формату SVG. Правда, никто SVG руками и не правит!

Ах, да: если нужен еще контрпример, советую на мегадебильнейшую быдлоподелку посмотреть — labview. Оно изначально предназначалось для имбецилов: те могут осилить работу руками, но не могут произвести даже простейших логических вариаций. Поэтому им привычней мышкой натыкать пару суток, нежели пару страниц кода написать.
Ну и что на этом лабвью серьезного делают? ЕМНИП, товарищи одни пытались телескоп и пару его спектрографов исключительно на лабвью запустить. В итоге это говнище выкинули, выгнали придурков, задумавших заранее гиблую идею, и сделали как надо!

Заголовок сообщения: Re: какая IDE для STM32 лучше?
Добавлено: 14 июн 2020, 02:35

«Мою музыку никто не понимает, не доросли ещё до моей музыки» (c) Незнайка.
Майкрософт идёт _от_ визардов. Если кто помнит MFC – меня поймёт 🙂
То есть они могут визард сделать (там, где иначе приходится писать гору boilerplate-кода), но со временем заменяют его на что-то более вменяемое.

Заголовок сообщения: Re: какая IDE для STM32 лучше?
Добавлено: 14 июн 2020, 03:06

Хватит уже про мелкомягких ублюдков! Они за всю свою историю существования только одну доходную вещь придумали: разводить лохов на баксы!

Заголовок сообщения: Re: какая IDE для STM32 лучше?
Добавлено: 14 июн 2020, 03:38

Ну, во первых, XML незримо присутствует в Eclipse за счет этого осуществляется форматирование кода. Во вторых насчет MFC, NET, Jit. Это извечный спор о полиморфизме времени исполнения, или оптимизации или, что тоже самое, но более определенно, о раннем или позднем связывании. Есть высказывание известных личностей, что позднее связывание от неумения делать раннее и, что хочется все в одном флаконе. Ранее связывание позволяет решать задачи недоступные позднему связыванию (ну очень реальное время), последнее позволяет расширенный полиморфизм. Это дилемма и постулат. Этот постулат нужно преподавать самым первым, высечь на камне. Это два очень сильно враждующих лагеря, приводящих, периодически к «концу света» . Позднее связывание, иногда, считают божественным. А сам Бог над этим смеется, поскольку сам не выбрал.

Заголовок сообщения: Re: какая IDE для STM32 лучше?
Добавлено: 14 июн 2020, 11:03

Спасибо за ответы!

Т.к. я не в теме, то для меня и большинство ответов непонятно.

Наверное, можно переформулировать вопрос так:
вступая на тропу освоения программирования микроконтроллеров с конкретной задачей и имея на руках STM32 + ESP8266 + Ubuntu + общие навыки программирования, по какому пути лучше пойти (книга по началам, IDE, общая идея на пальцах, подход, ссылки на статьи а-ля моргаем диодом), чтобы и базовые вещи изучить не зарываясь в абстракции макросов и прочих штук и цели достигнуть? (мечтал бы уйти на пару лет в изучение, начиная с AVR + С + asm, но верю, что можно и дело делать и изучать одновременно)

Какую ide выбрать для stm32

Какую статью добавить следующей?

Быстрый старт STM32F103C8T6 + Arduino IDE

Информация о материале Создано: 25 февраля 2016

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

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
  • Конвертер FTDI USB-TTL
  • Соединительные провода Dupont мама-мама

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

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

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

stm32 pins

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

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

void setup()  // initialize digital pin PB1 as an output. pinMode(PC13, OUTPUT); > // the loop function runs over and over again forever void loop()  digitalWrite(PC13, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(PC13, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second > 

Далее в Arduino IDE:

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

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

Комментарии
-1 # sunapex 12.03.2016 08:45
На скачанное дополнение для Arduino IDE ругается антивирус!
+3 # физ 17.03.2016 10:14
Проверил архив антивирусом от Касперского (базы от 17.03.2016) — ничего не обнаружил.
0 # Alexander 30.03.2016 12:44

Всё сделал по описанию,но при загрузке появляется ошибка
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, Не удается найти указанный файл

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

+1 # V3 10.06.2016 11:14

Та же проблема. Сначала думал, что мешает установленная Java — нет. На абсолютно чистой системе, с Arduino 1.6.4, Arduino STM32 master, и установленным драйвером виртуального COM порта, тоже ничего не работает. Ошибка та же самая.

+1 # V3 10.06.2016 12:06

Проверено на версиях Arduino 1.6.0, 1.6.4, 1.6.5, 1.6.6, 1.6.8. (именно 1.6.5 видно на одном из скриншотов). Ни на одной не работает.

+3 # V3 10.06.2016 13:00

Предлагаю Автору, если у него ещё осталась работающая версия данного программного решения, поделится абсолютными путями указанных в статье файлов, в т.ч. exe-шника Ардуино и файла blink.ino, а также написать содержимое папки hardware, и находящейся в ней папки Arduino_STM32-master.

+7 # Konstantin 02.07.2016 23:49

Описанное дополнение для Arduino IDE идет без тулчейна для компиляции (о чем собственно и ошибка: не найден GCC компилятор для arm’ов). Что бы заработало как у автора, нужно инсталлировать в «Менеджере плат» поддержку «Arduino SAM Board (32-bitd ARM Cortex-M3)». Вместе с поддержкой этой платы установится и нужный компилятор.

И еще, обратите внимание на строчки в скетче
pinMode(PC13, OUTPUT);
digitalWrite(PC13, HIGH);
digitalWrite(PC13, LOW);
в оригинальном примере идущим с IDE
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
digitalWrite(13, LOW);
— так тоже откомпилится без ошибок, но работать не будет должно стоять PC13

И еще, перед каждой заливкой скетча плату надо ресетить, для запуска UART загрузчика.

+1 # seawar 28.06.2016 15:59

Надо поставить правильный компилятор: https://launchpad.net/gcc-arm-embedded/
Файл Arduino/hardware/Arduino_STM32/STM32F*/platform.tx t модифицировать, как пишут здесь: http://www.stm32duino.com/viewtopic.php?f=21&t=1200&p=15192&hilit=arm+none#p15192
Ошибка с arm-none-eabi-gcc.path ушла. Но посыпало много других ошибок. В основном, о несоответствии типов данных. Какая-то нестыковка с версиями библиотек. Вобщем, сыровато это пока..

+1 # sura 29.09.2016 17:17

Мне помогла замена строки в файле Arduino/hardware/Arduino_STM32/STM32F*/platform.txt
Было так:
runtime.tools.arm-none-eabi-gcc.path=/hardware/tools/gcc-arm-none-eabi-4.8.3-2014q1
Стало так:
compiler.path=d:/EmBitz/share/em_armgcc/bin/
Естественно предварительно установил EmBitz

+5 # revector 30.09.2016 16:42

Всё заработало как в тексте.
Подгрузил только библиотеку «Arduino SAM Board (32-bitd ARM Cortex-M3)».
Не забывайте про перемычку на плате перед прошивкой!

+1 # Gallade785 01.12.2016 00:13

А на этой плате пойдет скетч с nano? Просто если поменять пины выходов, то скетч который у меня заработал на nano выдь должен пойти и на этой платке?

+3 # Saddamko 14.01.2017 23:20

У меня все заработало с первой попытки по рекомендациям статьи. Светодиод мигает 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.

Starting execution at address 0x08000000. done.

+1 # Игорь 30.01.2017 11:46

Подскажите что делать, если нет FTDI конвертера? Вместо него подойдет ISP программатор или аналог ардуино TE-MINI328? Или вообще начисто к компу можно подключить STM32F103C8T6 без посредников?

0 # Николай 30.01.2017 12:02

Подойдет любой USB TTL конвертер, главное обеспечить 3.3В на сигнальных проводках. Можно и ардуинкой обычной 5вольтовой в режиме UART моста, тогда придется делитель напряжения делать для TX/RX.

+3 # yucan 09.03.2017 14:31

Подскажите пожалуйста по моей ошибке.
Arduino: 1.6.5 (Windows XP), Плата»Generic STM32F103C series, STM32F103C8 (20k RAM. 64k Flash), Serial, 72Mhz (Normal)»
arm-none-eabi-g++: error: C:\Temp\build1270749402357376224.tmp/core.a: No such file or directory
Файл или папку core.a: не может найти

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

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