Обновить
181
85

Embedded SW/Firmware Engineer

Отправить сообщение

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

Уровень сложностиПростой
Время на прочтение19 мин
Охват и читатели4.4K

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

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

Читать далее

Архитектура Хорошо Поддерживаемого Программного Компонента (или Рекомендации Здравого Смысла)

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели14K

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели9.5K

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели8.9K

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели11K

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели34K

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели21K

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

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

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

Читать далее

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

Время на прочтение16 мин
Охват и читатели42K

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение96 мин
Охват и читатели110K

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

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

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

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

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

Читать далее

Правила Хорошей Структурной Схемы для Электронных Плат

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели24K

В этом тексте я написал о забытом понятии: блок-схемы для разработки электроники. В ГОСТ(е) их называли Э1 (Схема структурная). Блок-схем это хороший уровень абстракции при анализе электронного устройства или PCB. Представил несколько атрибутов, которые сформировались при создании блок-схем. Привел примеры образцовых блок-схем. 

Читать далее

Задача про две ёмкости для жидкости

Время на прочтение9 мин
Охват и читатели12K

Существует классическая задача:

Есть 2 емкости: 5 литров и 3 литра. Как отмерить 4 литра жидкости используя только эти 2 емкости?

В этом тексте я решу эту задачу в общем виде при помощи конечного автомата.  Также я упомяну про малоизвестный язык программирования Dot.

Читать далее

DevOps для Производства Firmware

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели13K

В этом тексте я намерен пофантазировать каким мог бы быть абстрактный процесс разработки firmware с точки зрения DevOps. И перечислить атрибуты такого процесса.

Читать далее

Атрибуты Xорошей PCB

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели18K

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

Этот перечень сформировался в результате реальных инцидентов.

Читать далее

Aтрибуты Хорошей Прошивки (Firmware)

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели21K

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

Читать далее

Проверка дальности LoRa на T-BeamV1.1

Время на прочтение2 мин
Охват и читатели9.9K

Результаты проверки дальности LoRa link(a) на TBeamV1.1

Читать далее

Проверка дальности LoRa link(a)

Время на прочтение4 мин
Охват и читатели20K

Интерес к LoRa технологии возникает у разработчиков телеметрии для различных устройств: счетчики воды, автомобильные сигнализации, сельскохозяйственные технологии, наручные часы, трансиверы для авиамоделей и даже трансиверы для обмена текстовыми сообщениями среди Geek(ов).

Могу поделиться результатами своей непредвзятой проверки дальности LoRa link(a). Разрабатываю firmware для микроконтроллерного устройства на оcнове чипа SX1262.

Читать далее

Высокоточная навигация GNSS RTK

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели33K

Демонстрации возможностей микросхем ZED F9P. Это примёмник GNSS с возможностью высокоточной навигации по технологии RTK.

Я решил самостоятельно оценить точность измерения координат.

Читать далее
12 ...
9

Информация

В рейтинге
90-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность

Специализация

Инженер встраиваемых систем, DevOps-инженер
Старший
Git
Bash
CI/CD
C
Встраиваемая система
Программирование микроконтроллеров
Разработка программного обеспечения
Алгоритмы и структуры данных
Системное программирование
Разработка драйверов