Сегодня я хотел бы рассказать о работе с микроконтроллерами STM32
с использованием редактора исходного кода VSCode
в операционной системе Linux. Эта статья предназначена для новичков, и в ней будет пошагово описан процесс создания простого проекта, с акцентом на неочевидные моменты. Вопросы о том, как это работает и как настроить всё максимально гибко, мы оставим для следующей статьи.
Сегодня мы рассмотрим как сделать систему сборки на основе сmake
, которая объединит в себе все С
и С++
, CubeMX
, VScode
и по сути будет логическим развитием этой и этой статей. По моему мнению это самый гибкий способ (кроме ситуации когда вы осознанно отказываетесь от CubeMX
, но об этом в другой раз) вести разработку под stm32 в 2к22 году. Само собой только под Linux
.
Сегодня я расскажу вам о таком прекрасном продукте как Cube Monitor от компании ST. Это приложение, которое позволяет визуализировать и изменять переменные в процессе исполнения программы на микроконтроллере. Для визуализации данных можно создавать графические приложения доступные через браузер.
Не давно я писал статью про то как настроить рабочее окружение для написания кода на СИ для работы в редакторе VScode. Но что делать если мы хотим писать код на С++, а не на СИ? На самом деле ответ на этот вопрос не тривиален. CubeMX генерирует проект, и параметры сборки таким образом что там используются только си файлы. Это значит что нам необходимо сделать 2 вещи - это соединить сишный код сгенерированный кубом с нашим плюсовым кодом и дописать make файл чтобы он мог собирать дополнительные с++ файлы.
Сейчас я хочу рассказать про то как настроить сборку проекта для микроконтроллеров STM32 в Debian подобных дистрибутивах GNU LINUX, думаю в других дистрибутивах это будет работать также. Для работы с микроконтроллерами нам нужны будут следующие компоненты: CubeMX, GCC tools, VScode. По сути в статье я расскажу как настроить каждый их этих компонентов, а потом как это все соединить вместе.
В этой заметке я соберу короткие заметки касательно работы в CubeIDE, думаю результатами можно будет воспользоваться для любой IDE на основе eclipse. Если (вдруг) вам интересно мое мнение, то лучше не используйте CubeIDE, а настройте VScode, об этом есть статья в блоге.