Сегодня я хотел бы рассказать о работе с микроконтроллерами STM32
с использованием редактора исходного кода VSCode
в операционной системе Linux. Эта статья предназначена для новичков, и в ней будет пошагово описан процесс создания простого проекта, с акцентом на неочевидные моменты. Вопросы о том, как это работает и как настроить всё максимально гибко, мы оставим для следующей статьи.
Сегодня мы рассмотрим как сделать систему сборки на основе сmake
, которая объединит в себе все С
и С++
, CubeMX
, VScode
и по сути будет логическим развитием этой и этой статей. По моему мнению это самый гибкий способ (кроме ситуации когда вы осознанно отказываетесь от CubeMX
, но об этом в другой раз) вести разработку под stm32 в 2к22 году. Само собой только под Linux
.
В разработке под fpga есть одна проблема которая меня всегда очень раздражала, это необходимость использования огромных и тормозных IDE. Поэтому сегодня разберемся с открытым стеком технологий для разработки под FPGA.
Сегодня я хотел бы рассмотреть новый камень (в данный момент не очень) камень от создателей Raspberry Pi - RP2040. Это 2-х ядерный микроконтроллер на 2-х ядрах Cortex-M0+ с максимальной частотой 133MHz, 264kB SRAM и отсутствующей внутренней flash памяти, зато возможность подключения до 16mb внешней. Звучит достаточно неплохо с учетом того что STM32 сейчас практически не достать, но все ли хорошо с поддержкой? Сегодня попробуем выяснить.
Здесь я буду писать про всякие нюансы про работу с моим любимым блокнотом.
Не давно я писал статью про то как настроить рабочее окружение для написания кода на СИ для работы в редакторе VScode. Но что делать если мы хотим писать код на С++, а не на СИ? На самом деле ответ на этот вопрос не тривиален. CubeMX генерирует проект, и параметры сборки таким образом что там используются только си файлы. Это значит что нам необходимо сделать 2 вещи - это соединить сишный код сгенерированный кубом с нашим плюсовым кодом и дописать make файл чтобы он мог собирать дополнительные с++ файлы.
Сейчас я хочу рассказать про то как настроить сборку проекта для микроконтроллеров STM32 в Debian подобных дистрибутивах GNU LINUX, думаю в других дистрибутивах это будет работать также. Для работы с микроконтроллерами нам нужны будут следующие компоненты: CubeMX, GCC tools, VScode. По сути в статье я расскажу как настроить каждый их этих компонентов, а потом как это все соединить вместе.
Для одного из моих проектов у меня оказалась отладочная плата LDM-HELPER-K1921BK01T-FULL, как очевидно из названия платы и статьи на контроллере K1921VK01T. Вместе с ней шол дополнительный модуль LDM-HELPER-MB501-FULL. По сути все что нужно знать про эти 2 платы это их 2 шиматика раз и два, дабы вы могли сопоставить мои примеры со схемой вашей отладочной платы. По ходу статьи мы настроем среду для работы с данным контроллером в среде VSCode, и напишем простенькую программу.