Portfolio Обо мне Блог
18 January 2021
LINUX

Эта небольшая заметка посвящена тому что однажды я решил раз и навсегда разобраться с мультизагрузочной флешкой, т.к. меня достала моя коробка с более чем десятком флешек. Мне удалось найти только один открытый проект который позволил бы загружать как ISO образы винды так и linux. Это - Ventoy.

Сегодня я хотел бы рассмотреть новый камень (в данный момент не очень) камень от создателей Raspberry Pi - RP2040. Это 2-х ядерный микроконтроллер на 2-х ядрах Cortex-M0+ с максимальной частотой 133MHz, 264kB SRAM и отсутствующей внутренней flash памяти, зато возможность подключения до 16mb внешней. Звучит достаточно неплохо с учетом того что STM32 сейчас практически не достать, но все ли хорошо с поддержкой? Сегодня попробуем выяснить.

18 January 2021
C_C++ CORTEX

Сегодня мы рассмотрим самый интересный блок в новых контроллерах от Raspberry Pi Foundation RP2040 - PIO или programmable input/output block. В теории он должен позволить создавать модули кастомный периферии с чем сегодня мы попробуем разобраться.

18 January 2021
SERVER LINUX

Сегодня попробуем создать свой маленький уютный git, прямо у себя дома. В качестве которого будем использовать gitea. Данный сервис должен быть доступен из глобальной сети, и для это мы используем ранее поднятый vpn (wireguard) сервер. По сути мы просто пробросим порты (80 и 433) из сервера с белым ip до компьютера находящегося в комнате. А также прикрутим поддомены к ip vpn-сервера. Это позволит открывать наши сервисы по доменному имени.

Не давно я писал статью про то как настроить рабочее окружение для написания кода на СИ для работы в редакторе VScode. Но что делать если мы хотим писать код на С++, а не на СИ? На самом деле ответ на этот вопрос не тривиален. CubeMX генерирует проект, и параметры сборки таким образом что там используются только си файлы. Это значит что нам необходимо сделать 2 вещи - это соединить сишный код сгенерированный кубом с нашим плюсовым кодом и дописать make файл чтобы он мог собирать дополнительные с++ файлы.

Сейчас я хочу рассказать про то как настроить сборку проекта для микроконтроллеров STM32 в Debian подобных дистрибутивах GNU LINUX, думаю в других дистрибутивах это будет работать также. Для работы с микроконтроллерами нам нужны будут следующие компоненты: CubeMX, GCC tools, VScode. По сути в статье я расскажу как настроить каждый их этих компонентов, а потом как это все соединить вместе.

Для одного из моих проектов у меня оказалась отладочная плата LDM-HELPER-K1921BK01T-FULL, как очевидно из названия платы и статьи на контроллере K1921VK01T. Вместе с ней шол дополнительный модуль LDM-HELPER-MB501-FULL. По сути все что нужно знать про эти 2 платы это их 2 шиматика раз и два, дабы вы могли сопоставить мои примеры со схемой вашей отладочной платы. По ходу статьи мы настроем среду для работы с данным контроллером в среде VSCode, и напишем простенькую программу.

В этой заметке я соберу короткие заметки касательно работы в CubeIDE, думаю результатами можно будет воспользоваться для любой IDE на основе eclipse. Если (вдруг) вам интересно мое мнение, то лучше не используйте CubeIDE, а настройте VScode, об этом есть статья в блоге.