STM32 — USB Custom HID

Эта статья — некоторое продолжение UsbLibrary — C# USB HID Library, в которой довольно много недочётов и ошибок (хотя никто и не написал о багах, кек), но основной посыл же — описать создание USB Custom HID на STM32 с использованием HAL.

Читать далее

STM32 и порт FreeModbus (RTU Slave + Master) на HAL

Поделюсь своим простым портом мастера и слейва FreeModbus на STM32 с использованием HAL без костылей. Вроде бы и простая тема, но какие гайды бы я ни видел, они или устаревшие уже, или с какими-либо костылями (хотя заявляется, что, мол, всё просто и на HAL), более того, гайдов с мастером я не видел вообще.

Сразу признаюсь, я воспользовался открытой реализацией мастера на FreeModbus от китайского программиста Armink, написан мастер был для китайской RTOS RT-Thread, но возможна работа и без RTOS, я просто подшаманил файлы мастера, а также немного подшаманил оригинальную реализацию FreeModus.

B93-0

Разбор порта, примеры работы RTU версии и ссылки на исходники как моего порта, так и оригинальные источники, всё под катом:

Читать далее

STM32CubeMX и CMSIS-DSP — проблема с FPU

B92-0

Делаю я тут проект один и начал вникать в цифровую обработку сигналов на STM32. Скелет проекта и инициализацию периферии я сделал в STM32CubeMX, набросал код для проверки FIR из CMSIS DSP, пробую скомпилировать и … компилятор ругается, мол? у меня нет FPU на STM32F401CCU6.

#error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"

В чём же проблема ? Давайте разбираться по порядку.

Читать далее

CV-Meter — Простой проект (начало)

Решил поделиться неторопливым ходом разработки своего небольшого проекта, который будет полезен для любой категории разработчиков. Это комплексный проект, который состоит из 3-х более мелких проектов, а именно: софт для ПК (скриншот которого ниже), различное железо измерителей CV и, собственно, прошивки для этих CV-измерителей. Обо всём постараюсь по порядку рассказать и показать, в каком состоянии оно сейчас находится, а также уже можно посмотреть мой говно-код, собрать простую версию измерителя на коленке и опробовать всё самому.

B90-1

Читать далее

Visual Studio 2017. Написание и отладка приложений для Onion Omega2

Onion Omega2 — это одноплатный компьютер на базе MIPS-процессора, имеющего следующую периферию: Wi-Fi, Ethernet 10\100 Мбит, UART, PWM, I2C, SPI, USB, SDIO и GPIO. В качестве ОС используется Linux LEDE (Linux Embedded Development Environment), базирующийся на OpenWRT.

B87-0

Статья-мануал о том, как начать писать и отлаживать программы на С\С++ для Omega2 в Visual Studio 2017. Если интересно, прошу под кат:

Выбор версии LEDE и её обновление

В качестве отладочной платы у меня плата собственной разработки с модулем Omega2S+ (максимальная комплектация с 32 Мбайт памяти, 128 Мбайт ОЗУ и SDIO для подключения MicroSD карт). При первом включении на ней будет старый билд LEDE, и его требуется обновить, вот тут есть разные пути. Рассмотрим как различие версий ОС (стабильные и девелоперские), так и пути обновления.

Читать далее

Visual Studio Code — написание и отладка прошивок для ARM Cortex-M

Давно хотел это опробовать, да руки не доходили. Наконец-то освободился и решил это освоить — превращение Visual Studio Code в IDE для написания и отладки прошивок под микроконтроллеры, и как первые ласточки опробованы Wi-Fi SoC RTL8195AM и Cortex-M4 STM32F407VGT6. Пример-описание в статье будет для STM32F407VGT6.

B83-0

Подготовка Visual Studio Code

Для примера используется Visual Studio Code v1.33.1, на старых версиях могут быть небольшие отличия в плане конфигурационных json файлов.

Читать далее

Делаем Arduino Mega из того, что под рукой

Не, ну а почему бы и нет?! Возьмём АРМ, да не простой, а золотой, добавим отладчик и оформим всё в формате Arduino Mega. :) Импортозамещение!

B77-00

В статье опишу схемотехнику, разводку (хотя тут нечего толком и расписывать), покажу собранный вариант и пример прошивки на получившейся плате, и всё это — Open Source. Да, это те самые платы от SeeedStudio, что были замазаны в прошлом обзоре. Надеюсь, интрига стоила того, чтобы не выкладывать все карты сразу. :) 

Читать далее

Cyclone 10 LP, WS2812, SK6812RGBW

Небольшая статья о простом тесте управляемых светодиодов WS2812 и SK6812RGBW, как их правильно подключить к 3,3 В IO ПЛИС и как этим всем крайне просто можно управлять из приложения на ПК.

Посмотрев OpenSource драйверы для WS2812, я несколько удивился — на Verilog нашелся только один и тот показался не шибко оптимальным, поэтому было решено написать свой. Со своими костылями и багами. :)

Так как под рукой есть неплохая отладочная плата Intel Cyclone 10 LP FPGA Evaluation Kit, то на ней и буду тестировать. В закромах нашлась ардуиновская плата-щит-шилд для прототипирования (крайне паршивой разводки, покупать себе такую не советую! Выиграл пару штук на аукционе eBay, но вот покупать такое я точно больше не буду и вам не советую!) — ардуино-стайл проект по морганию светодиодами на ПЛИС должен удасться на славу! ;D

B64-0

Читать далее

Visual Studio 2017 + STM32CubeMX

После написания статьи о применении Visual Studio 2017 и WiFi SoC захотелось проверить, насколько сложно или просто будет откомпилировать и отлаживать проект для более рядовых микроконтроллеров, таких как STM32. Исходный проект будет сгенерирован в STM32CubeMX и с минимальными дополнениями будет открыт в Visual Studio, более того, проект также можно будет обновлять из STM32CubeMX, как для других IDE.

B63-0

Все наглядно, по шагам под катом. :)

Читать далее

Visual Studio 2017 — написание и отладка проекта для SoC

С прошлого раза применения Visual Studio 2015 для написания прошивки и отладки под SoC прошло немало времени. 2017-я версия заметно обновилась, появилось много удобных фич, нововведений для C# 8.0, и, что также важно, обросла плюшками для эмбеддерского применения.

Сразу отмечу, что этот материал подходит для версии Visual Studio 2017 не ниже v15.6.7, я же использовал v15.7.1 вначале и далее обновился до v15.7.3 при написании материала.

B62-0

Читать далее