Pull to refresh
109
25.1

Embedded SW/Firmware Engineer

Send message

Изготовление Макета для Прототипа (или Как Буравить Пластмаски)

Level of difficultyEasy
Reading time6 min
Views4.6K

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

Далее следует инструкция как сделать качественное основание для прототипа.

Читать далее
Total votes 7: ↑4 and ↓3+2
Comments12

Теория управления шаговым двигателем (или как вертеть PTZ камеру)

Reading time4 min
Views9.2K

Настал тот редчайший случай, когда в работе программиста микроконтроллеров появилась нужда в знании математики и даже физики.

При управлении шаговыми двигателями важно решать кинематическую задачу. Правда по уровню сложности её можно отнести к школьной программе 6 класса.

Читать далее
Total votes 6: ↑5 and ↓1+7
Comments43

H-мост: Load Detect (или как выявлять вандализм)

Reading time5 min
Views7.6K

В этом тексте я написал как диагностировать и тестировать такую электрическую цепочку как H-мост (спинер моторов).

Как в Run-Time(е) определять Fault(ы) в H-мосте?

Это необходимо, чтобы вовремя отключить ключи и перевести всю цепь в безопасное состояние тем самым спасти дорогое оборудование (PCB, транзисторы, нагрузка, разъемы) от сгорания.

Читать далее
Total votes 24: ↑21 and ↓3+25
Comments16

NVRAM для микроконтроллеров

Level of difficultyEasy
Reading time7 min
Views7.1K

В разработке на микроконтроллерах хорошей практикой считается, когда в прошивке есть энергонезависимое число-хранилище для запоминания чиселок между пере сбросом питания.

В этом тексте представлено текстовое описание возможной простой реализации компонента энергонезависимой key-value map(ки)

Читать далее
Total votes 16: ↑14 and ↓2+16
Comments12

Офисные джунгли (или особенности западной культуры общения на работе)

Level of difficultyEasy
Reading time10 min
Views15K

Это негласные правила этикета среди офисных белых воротничков. Об этом не расскажут ни в школе ни в университете. Как вести себя в офисах IT стартапа или корпорации?

Представлен обогащенный концентрат полезных подсказок, полученный в результате работы в трех западных организациях.

Эти правила написаны кровью!

Читать далее
Total votes 92: ↑42 and ↓50+7
Comments122

Чип AudioСodec(а) WM8731 (или (ADC/DAC)*2 из iPod(а))

Level of difficultyEasy
Reading time8 min
Views6.3K

Существует чип WM8731. Это стерео аудиокодек или однокристальная звуковая карта. В сущности 2 пары ADC/DAC на 24бит каждый с настройкой по I2C.
Чип знаменит тем, что его в свое время заложили в культовую отладочную плату Altera-DE1 для FPGA  и чип WM8731 стал известен во всех технических вузах мира.

Посмотрим на что на самом деле способен чипок WM8731.

В этом тексте я напишу о своём опыте работы с чипом WM8731, частично восполню нехватку документации на китайскую отладочную плату Alinx и отмечу решения основных сбоев при работе с WM8731.

Читать далее
Total votes 12: ↑10 and ↓2+12
Comments11

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

Reading time9 min
Views1.8K



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

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

Читать далее
Total votes 9: ↑5 and ↓4+3
Comments26

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

Level of difficultyEasy
Reading time5 min
Views5.5K

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

Читать далее
Total votes 4: ↑2 and ↓20
Comments0

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

Level of difficultyEasy
Reading time7 min
Views7.5K

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

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

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

Читать далее
Total votes 14: ↑7 and ↓70
Comments62

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

Reading time8 min
Views2.9K

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

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

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments19

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

Level of difficultyEasy
Reading time6 min
Views11K

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

Читать далее
Total votes 12: ↑11 and ↓1+13
Comments7

Запуск сервера сборки Jenkins

Level of difficultyEasy
Reading time8 min
Views15K

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

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

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

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

Читать далее
Total votes 10: ↑3 and ↓7-3
Comments23

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

Reading time6 min
Views4.3K

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

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

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments15

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

Reading time7 min
Views9.3K

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

Читать далее
Total votes 11: ↑9 and ↓2+10
Comments25

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

Level of difficultyEasy
Reading time12 min
Views12K

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

Читать далее
Total votes 13: ↑11 and ↓2+15
Comments47

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

Reading time2 min
Views3.7K

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

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

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

Читать далее
Total votes 9: ↑2 and ↓7-5
Comments3

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

Reading time10 min
Views7.6K

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

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

Читать далее
Total votes 13: ↑9 and ↓4+10
Comments17

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

Level of difficultyEasy
Reading time19 min
Views3.4K

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

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

Читать далее
Total votes 11: ↑8 and ↓3+7
Comments8

Архитектура Хорошо Поддерживаемого драйвера для I2C/SPI/MDIO Чипа (или как писать код по понятиям)

Level of difficultyEasy
Reading time11 min
Views9.4K

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

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

Читать далее
Total votes 21: ↑14 and ↓7+11
Comments26

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

Level of difficultyEasy
Reading time12 min
Views7.6K

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

Читать далее
Total votes 19: ↑14 and ↓5+14
Comments25

Information

Rating
278-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