Меню Закрыть

Создание проекта на STM32 с помощью CubeIDE шаг за шагом.

Создание проекта на STM32 с помощью CubeIDE шаг за шагом.

Выбор среды разработки

 

При выборе IDE для проекта под микроконтроллеры STM есть множество вариантов, но обычно выбирают между STM32CubeIDE и Keil MDK-ARM, так как они являются наиболее удобными инструментами для разработки. Давайте кратко разберемся почему мы будем использовать STM32CubeIDE и в чём его преимущество.

  • Бесплатность.  В отличие от Keil, где бесплатная версия ограничена 32 КБ кода (чего часто недостаточно для серьезных проектов), STM32CubeIDE не накладывает никаких ограничений
  • Кроссплатформенность. TM32CubeIDE работает на Windows, Linux и macOS, что делает его универсальным решением для разработчиков с разными предпочтениями. В то же время Keil поддерживает только Windows. Согласитесь это не всегда удобно.Я например работаю под ubuntu и нужно много усилий чтобы запустить Keil в моей системе.. 
  • Графический интерфейс для настройки проекта. Очень удобная штука, поверьте.Позволяет быстро настроить периферию, часы и пины, сгенерировать код и сразу приступить к разработке. Сильно экономит время и нервы.

Создание первого проекта

Почему разобрались, теперь давайте скачаем и создадим первый проект. Скачать можно тут. https://www.st.com/en/development-tools/stm32cubeide.html 

Скроллим вниз, там есть выбор версии и вашей системы. 

Итак, чтобы создать новый проект кликаем File->New->STM32 Project

Появляется вот такое окошко. Справа внизу ( помечено синей стрелкой ) список всех микроконтроллеров. Слева можно искать по параметрам. Мы пока этим заниматься не будем, а просто найдём свой. 

Я например буду использовать макетную плату Discovery Discovery с STM32F407VGT6

на ней. Когда нашли нужный вам микроконтроллер не спешите нажимать кнопку далее. Слева от названия есть звёздочка. Кликните на неё, это добавит ваш микроконтроллер в избранное и в следующий раз вам не придется искать его снова. 

В следующий раз чтобы не искать просто нажмите звёздочку в левой колонке.

Нажимаем зеленую кнопку Next и появляется окно настроек проекта. Выглядит оно так. 

Тут всё оставляем как есть. Кликаем Finish. Создался наш первый проект. Выглядит он так.

Настройка проекта и генерация кода

Выбран файл ioc. В нём находятся базовые настройки проекта такие как настройки тактирования, инициализация периферии, прерывания и т.д. Поставим базовые настройки частоты. Во вкладке System Core ->RCC->High Speed Clock->Crystal/Ceramic Resonator. На нашей плате STM32F4 Discovery два кварцевых резонатора. Один на 8МГЦ (HSE) и на 32.768 кГц. HSE(High-Speed External) важен для работы ядра и большинства периферийных устройств. Выберем тактирование от 8МГц, выставив HSE В Crystal/Ceramic Resonator.

Далее включим последовательную отладку. Вкладка SYS -> Debug ->Serial WIre. Это пригодится нам позже при отладке программы. Этого достаточно для первой программы. Все настройки частот можно посмотреть в окошке Clock Configuration. Его мы рассмотрим в одной из следующих статей. Теперь жмём на кнопку генерации кода слева вверху. 

Заходим в наш файл main. Он лежит в папке Core->Src->main.c Видим сгенерированный код нашего проекта. Саму структуру кода рассмотрим в следующей статье. Здесь очень важный момент. IDE не только сгенерировало код но и пометило места где вы можете писать свой собственный. Они начинаются с USER CODE BEGIN и заканчиваются USER CODE END. Так вот, если вы напишите что-либо вне этих мест то при следующей генерации ваш код сотрется и просто пропадет, учитывайте это. например если хотим что-либо написать в бесконечном цикле while то необходимо это делать в блоке 

Иначе вы рискуете его потерять. 

Промежуточный итог

 

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

Спасибо за внимание и удачи в ваших проектах!