USB Isolator v2 — Простой USB-изолятор

Небольшое продолжение USB-ISO — Простой USB-изолятор, были произведены мелкие технические и косметические улучшения, о которых и будет рассказано ниже.

Читать далее

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)"

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

Читать далее

Intel Quartus Prime + Visual Studio Code

Нано-заметка о том, как использовать Visual Studio Code со всеми его достоинствами (и недостатками) в качестве продвинутого редактора кода, который будет вызываться по умолчанию из Intel Quartus Prime (любой версии).

B88-0

Заходим в Tools->Options, переходим в раздел General->Preferred Text Editor:

B88-1

Ставим Custom в качестве параметра Text Editor. Прописываем здесь путь к Visual Studio Code (заместо %PATH_TO_VSCODE%) со следующими параметрами:

"%PATH_TO_VSCODE%\Code.exe" -r -g %f:%l

Примечание: параметр -r задаёт открытие файлов в активном (единственном) окне Visual Studio Code, и его можно убрать, тогда, если уже была открыта Visual Studio Code с каким-либо проектом, файлы из Quartus Prime будут открываться в новом окне Visual Studio Code.

Вот и всё, теперь все операции с файлами будут передаваться Visual Studio Code, что, как по мне, намного удобнее.

Читать далее

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, и его требуется обновить, вот тут есть разные пути. Рассмотрим как различие версий ОС (стабильные и девелоперские), так и пути обновления.

Читать далее

Конфигурирование Cyclone V из S25FL128S — проблемы и решение

Подбирая флешку для Cyclone V или Cyclone 10 LP для платы с минимальными габаритами, можно прийти к решениям от Micron, Macronix или Cypress. Я остановился на последней компании и конкретной флешке — S25FL128S, которая есть во вполне удобном корпусе WSON-8 (только 3,3 В IO) или в FBGA-24 с дополнительным пином VCCIO для установки уровней IO (но 3,3 В всё равно нужны для ядра флешки). Так вот, вроде ничего не предвещало беды, эта флешка даже официально поддерживается программатором в Intel Quartus 18.0 и выше, но не работает с Cyclone V …

B86-0

Читать далее

Visual Studio Code и ModelSim

В заметке ниже описание того, как сделать быстро вызываемую симуляцию в ModelSim из Visual Studio Code для тестбенча самописного IP.

b85-0

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

Всё в целом аналогично Visual Studio Code и Icarus Verilog, только без установки Icarus Verilog, поэтому повторяться не вижу смысла.

Тестовый проект

В качестве тестового проекта будет выступать моё недоделанное IP для HyperRAM — HyperRAM_Controller. Симуляцию будем проводить на тестбенче оттуда же.

Читать далее

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 файлов.

Читать далее

Altium Designer 19 — советы и фишки, упрощающие проектирование

Наконец-то я собрался написать по Альтиуму что-то по объёму более, чем заметка со ссылкой на видосик. :) Материал ниже — это сборник советов или просто фишек как нового 19-го Альтиума, так и прошлых версий. Думаю, это будет интересно как начинающему радиолюбителю, так и инженеру, уже давно работающему с Альтиумом.

Статья разбита по отдельным советам\фишкам, начинается с верхушки (проект и схемотехника) и далее переходит по следующим ступеням (печатная плата, сборка плат) сквозного проектирования.

B81-0

Начнём с самого простого и не всегда популярного почему-то (видел, что далеко не все этим пользуются или даже не знают об этих инструментах):

Читать далее

Visual Studio Code — создание портативной версии

Visual Studio Code — мощный и легковесный редактор кода с возможностью установки расширений и превращения его в реальную IDE для всех популярных языков программирования с отладкой приложений или прошивок.

B82-0

В этой заметке же вкратце будет описано создание портативной версии редактора для windows, которая будет содержать все настройки, расширения.

Для создания портативной версии необходимо скачать .zip версию, распаковать в любое место, зайти в корень распакованной папки и создать папку data (здесь будет храниться пользовательский профиль настроек и расширения):

Читать далее