All streams
Search
Write a publication
Pull to refresh
179
126.9

Embedded SW/Firmware Engineer

Send message

Поездка в Израиль на Nordic Tech Tour

Reading time9 min
Views1.9K



В этом тексте я написал про свой опыт поездки на это мероприятие из России в Израиле. Написал немного про Израиль и про само мероприятие тоже.

Разработчик микроконтроллеров Nordic Semiconductor в этом году провели целую компанию мастер классов по всей Eвропе про свои новые продукты.

Читать далее

Основа BlueTooth колонки

Level of difficultyEasy
Reading time5 min
Views7.6K

Сейчас очень просто сделать BlueTooth колонку. Буквально из подручных компонентов. Обзор отладочной платы FSC-DB102 Ver: 1.4 от Feasycom на основе модуля FSC-BT1026C V1.2.

Читать далее

Модульное Тестирование в Embedded (или код без модульных тестов — Филькина грамота)

Level of difficultyEasy
Reading time7 min
Views9.6K

Часто в РФ приходится слышать мнение, что в Embedded разработке якобы в принципе не может быть никакого модульного тестирования. Инженеры за 40 в (7 случаях из 10) даже никогда не слышали термина unit testing. В России бытует даже расхожее мнение

Не нужны никакие тесты. Если программист хороший, то и код он пишет без ошибок.

Попробуем разобраться какие есть плюсы и минусы в модульном тестировании и понять надо это или нет.

Читать далее

Как Перепрошить Пастильду

Reading time8 min
Views3.4K

Пере прошивка Пастильды обернулась настоящим квестом. Как пере прошить Pastild(у) или бег с препятствиями.

Инструкция для обыкновенного пользователя компьютером.

Читать далее

Отладка интерфейса I2S

Level of difficultyEasy
Reading time6 min
Views16K

В этом тексте я написал про особенности интерфейса I2S и про то как можно тестировать и отлаживать интерфейс I2S.

Читать далее

Пуск Сервера Сборки Jenkins

Level of difficultyEasy
Reading time9 min
Views18K

Итак в вашем репозитории накопилось количество сборок превысившее число 1. Настало время задуматься о DevOps(е). Как же уследить за всеми этими сборками?

Классическое решение это запустить сервер сборки. Есть готовая технология, называется Jenkins.

Идея проста. Сервер сборки это инфраструктурный прикладной процесс, который периодически запускает скрипты построения конкретных программных проектов и затем сохраняет *.bin(ари) в конкретную папку или архив. Обычно сервер сборки работает автономно 24/7 и собирает артефакты из репозитория с кодом.

В этом тексте я написал инструкцию-методичку для разворачивания Jenkins на Windows компьютере.

Читать далее

Пастильда: Независимое Beta-Тестирование (16+)

Reading time6 min
Views4.6K

Решил купить себе Pastild(у). Это аппаратный хранитель паролей и одновременно USB Flash(ка). Также понравилась возможность съёмной SD карты. Идея аппаратного менеджера паролей, который не требует отдельного USB просто великолепная!

Какие же впечатления от использования Пастильды (User experience)?

Читать далее

Пошаговая GDB отладка ARM процессора из консоли в Win10

Reading time7 min
Views12K

Иногда бывает ситуация когда надо срочно что-то пошагово отладить. При этом нет времени и желания ставить какие-то тяжелые IDE. В таких случаях может помочь пошаговая GDB отладка ARM Cortex M33 из командной строки Windows. В этом тексте я расписал пошаговое руководство того как это сделать.

Читать далее

Почему Нам Нужен UART-Shell? (или Добавьте в Прошивку Гласность)

Level of difficultyEasy
Reading time18 min
Views17K

Есть такая классическая и одновременно забытая технология отладки FirmWare как интерфейс командной строки поверх UART.

В этом тексте я напишу про достоинства и недостатки отладки через UART Shell.

Читать далее

Прием RDS данных (или чип распознающий песенки)

Reading time2 min
Views4.6K

Радиостанции посылают не только звук, но и текстовые данные.

Существует бинарный протокол RDS (Radio Data System). Вся его спецификация 132 страницы. Протокол RDS многообещающий. Там указано, что радиостанции могут посылать название станции, название песни, классификатор контента и даже дату и время. Пакеты крохотные: по 8 байт. RDS как мозаика. Текст принимается по кусочкам. 

Попробуем разобраться, что же приходит из воздуха по RDS на самом деле.

Читать далее

Что Должно Быть в Каждом FirmWare Pепозитории

Reading time10 min
Views8.2K

В этом тексте я предлагаю порассуждать, что же должно быть в нормальном взрослом firmware репозитории безотносительно к конкретному проекту.

То есть перечислить самые универсальные и переносимые программные компоненты (кирпичики), которые могут пригодиться в практически любой сборке.

Читать далее

Тандем Cpp/Graphviz для Описания Сложных ToolСhain(ов)

Level of difficultyEasy
Reading time19 min
Views3.9K

Разработка современного софта это далеко не только про код.

Разработка современного софта это во многом про ToolСhain(ы). Прежде чем начать исполняться исходники проходят гигантский путь. C каждым поколением выходят все более и более массивные системы сборки.
Современные технологии разработки софта это многостадийные конвейеры из различных утилит. Понять их весьма сложно. Однако поможет нам в этом хипстерский язык программирования Graphviz.

Читать далее

Архитектура Хорошо Поддерживаемого Программного Компонента

Level of difficultyEasy
Reading time12 min
Views12K

В программировании микроконтроллеров часто приходится писать драйверы периферийных микросхем. Так называемых ASIC(ов). Зачастую это 60% всего кода большинства проектов. В этом тексте я написал несколько общих нюансов разработки драйверов периферийных чипов.

Эти правила "написаны кровь".

Читать далее

Язык Graphviz для Автогенерации Блок-Схем Сложных Электронных Цепей

Level of difficultyEasy
Reading time12 min
Views8.6K

Современные печатные платы достигают очень высокого уровня сложности. Особенно трудно разобраться в логике цепей питания. В тексте представлен оригинальный подход анализа схемотехники при помощи языка разметки Dot и авто генерации блок схем.

Читать далее

Атрибуты Хорошего Канального Протокола Передачи Данных

Level of difficultyEasy
Reading time4 min
Views7.8K

В этом тексте представлены атрибуты хорошего и простого канального Master-Slave протокола для пакетного обмена информацией между устройствами на общей шине таких как RS485, CAN, LoRa, BLE.
Несмотря на то, что есть канальные протоколы ModBus, DLMS, RDS, UBX, NEC, Pelco-D, yModem, многие компании всё же придумывают собственный канальный протокол для взаимодействия между своими электронными платами. Тут представлены общие атрибуты таких доморощенных протоколов.

Читать далее

16 Способов Отладки и Диагностики FirmWare

Level of difficultyEasy
Reading time9 min
Views9.6K

В этом тексте перечислены основные способы отлаживать и диагностировать проекты на микроконтроллерах.

Для аналогии буду каждому методу отладки метафорично приводить в соответствие аналогию из медицины.

Читать далее

Атрибуты Хорошего С-кода (Хартия Си Программистов)

Level of difficultyEasy
Reading time11 min
Views30K

Это не академические атрибуты из учебников. Это скорее правила буравчика оформления сорцов из реального prod(а). Некоторые приемы совпали с MISRA, некоторые с CERT-C. А кое-что является результатом множества итераций инспекций программ и перестроек после реальных инцидентов. В общем тут представлен обогащенный концентрат полезных практик программирования на С(ях).

Читать далее

Коллоквиум по программированию микроконтроллеров (Теоретический Минимум)

Level of difficultyEasy
Reading time15 min
Views19K

Это список вопросов на которые должен уметь ответить тот кто хочет программировать микроконтроллеры и заниматься разработкой электроники.

Вопросы в частности взяты из реальных технических собеседований при устройстве на работу в разные компании. Постарался отобрать только самые приближенные к практике вопросы, которые можно выделить после 13 лет in-sider-ского опыта.

Если вы знаете адекватные, сложные и интересные вопросы по теме разработки на MCU, то пишите их в комментариях.

Читать далее

Настройка ToolChain(а) для Win10+GCC+С+Makefile+ARM Cortex-Mx+GDB

Reading time16 min
Views32K

В тексте написано кокой путь проходят сорцы с момента написания до исполнения на микроконтроллере. Также про то как настроить ToolChain из бесплатных утилит. Показано на что стоит обратить внимание при запуске первого проекта на Cortex-M чипах. Этот текст, в сущности, пояснение того, что происходит под капотом большинства IDE.

Читать далее

Hard Fault (или Вы в Самом Деле Хотите Стать Программистом Микроконтроллеров?)

Level of difficultyEasy
Reading time91 min
Views90K

В этом тексте я напишу о буднях программиста МК в РФ.

Вы сможете прикинуть нужна ли Вам эта профессия.

Особенности российского-национального программирования микроконтроллеров.

Что вообще пишут программисты МК и на чем?

Основной язык программирования это С. Языку С уже более 50лет. Кроме микроконтроллеров С уже практические никому не нужен. Навыки программирования на С очень слабо конвертируются. В свое время, видимо на С написали компилятор для С++ и нужда в С для desktop как таковая отпала. A сам С остался для сборки артефактов для микроконтроллеров с экстремально малыми ресурсами. Хотя и сейчас большинство компаний в ЕС уже микроконтроллерные сборки собирают на С++ 17. 

Читать далее

Information

Rating
55-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Embedded Software Engineer, DevOps
Senior
Git
Bash
CI/CD
C
Embedded system
Programming microcontrollers
Software development
Algorithms and data structures
System Programming
Development of drivers