Архив рубрики: Программирование

DIY микроамперметр на базе INA219

Системные ограничения На данный момент простая работа с этим модулем возможна только на линукс системе. Я хотел было даже с кондачка запустить эту же сборку на Windows, но меня ожидали некоторые трудности и готовой реализации я не нашел. Я буду следить за популярностью статьи и думаю, если она будет относительно популярна, то попытаюсь сделать поддержку… Читать далее »

Настройка связки VScode, OpenOCD, WCH-LinkE, Cortex-M

Что это такое и для чего нужно Wch-link является программатором для ARM, RISC-V микроконтроллеров. По возможностям это аналог St-link, JLink и прочих. По сравнению с st-link он поддерживает контроллеры не только фирмы STM. А по сравнению с JLink стоит намного дешевле и не имеет проблем с лицензиями, которые могут встречаться у дешевых клонов JLink. Также… Читать далее »

VS Code/Stm32 сборка и отладка

В последнее время очень пристрастился к редактору Visual Studio Code. Очень нравится система плагинов, подсветка кода, скорость и стабильность работы. Плагины можно найти буквально для всего и вся. В общем пока я очень доволен и впечатлён. А теперь наконец решился вести всю разработку проектов для встроенных систем в данном редакторе. Для тех кто захочет повторить… Читать далее »

Очередной bootloader STM32. Часть 2. Спец утилиты.

В прошлый раз мы остановились на создании бинарного образа прошивки. Этот этап на самом деле вовсе не обязательный, я просто хочу поделиться, некоторым своим опытом. Изначально тот способ, который будет описан ниже я использовал лишь для проверки переход от одного исполняемого кода к другому. Не хотелось возиться  с передачей прошивки на устройство, а просто вшить… Читать далее »

Очередной загрузчик STM32. Часть 1. Передача управления.

Рано или поздно встает задача обновления прошивки на готовом устройстве. Практически все современные устройства, так или иначе умеют обновлять свою программу с минимальными усилиями со стороны пользователя. Любую программу бутлодер условно можно разделить на две части — интерфейсной и части работы с носителем с которого исполняется код, обычно это внутренняя флешь память. Задача интерфейсной части… Читать далее »

Кросскомпиляция с помощью CMake

Компилировать программу будем под популярнейшую платформу Raspberry Pi. Эту заметку я использую, как памятку для закрепления информации полученной из публикаций: [ Raspberry Pi C ++] Using CMake и The Useful RaspberryPi Cross Compile Guide. Поэтому код и текст будут существенно с ними перекликаться, но в своей статье я сосредоточусь на практической стороне вопроса и опущу… Читать далее »

Использование LIttleFS совместно с параллельной NAND памятью

Обычно для удобства работы с различными носителями информации используются различные файловые системы. Основное удобство заключается в абстрагировании от особенностей физического исполнения носителя ( как размер страницы, блока и т.д) и сосредоточиться на работе с полезной нам информацией. В данной статье пойдет речь о параллельной NAND Flash память и файловой системе LittleFS. До недавнего времени для… Читать далее »

Сборка из исходников Python

Иногда требуется иметь самую последнюю версию Python на своем Linux устройстве. С такой ситуация я столкнулся на плате CM3 (Compute Module 3) с установленным дистрибутивом Raspbian. В его репозитории на февраль 2019 нет последней версии Python 5.7.2. С такой проблемой столкнулся не только я. Собственно, это уже готовая инструкция, она актуальна и для версии 5.7.2.… Читать далее »