Обязанности:
Мы ищем опытного embedded-разработчика для разработки и сопровождения прошивок микроконтроллеров в составе серверного оборудования. Задачи связаны не только с написанием прикладной логики, но и с глубокой отладкой периферии, драйверов, прерываний, протоколов обмена и взаимодействия прошивки с реальным железом. Прошивки работают 24/7 и управляют критичными функциями оборудования: вентиляторами, датчиками, I2C-обменом с BMC, watchdog/liveness - сигналами, механизмом обновления и диагностикой. Чем предстоит заниматься: Разработка прошивок для микроконтроллеров на C. Работа с Zephyr RTOS, devicetree, Kconfig, board support package. Настройка и отладка периферии MCU: GPIO, I2C, UART, SPI, PWM, timers, capture/compare, watchdog. Реализация и сопровождение I2C target/slave-протоколов для обмена с BMC. Измерение сигналов PWM/tach, расчет RPM, фильтрация измерений, борьба с jitter и выбросами. Анализ принципиальных схем, datasheet, errata, примеров производителя. Поиск причин зависаний, race condition, проблем с прерываниями, DMA, таймингами и состояниями периферии. Работа с bootloader/update-механизмами, слотами прошивки, CRC, fallback/rollback. Отладка на реальном железе: JTAG, UART logs, осциллограф, логический анализатор. Подготовка production-версий прошивок и отладочных сборок. Участие в CI/CD сборке прошивок и выпуске релизов. Обязательные требования: Уверенный C для embedded: указатели, volatile, memory layout, ISR-safe код, fixed-width types. Опыт разработки прошивок для MCU не менее 3 лет. Практический опыт с RTOS или Zephyr. Понимание работы прерываний, таймеров, захвата входных сигналов, PWM. Опыт с I2C/SPI/UART на уровне регистров или низкоуровневых драйверов. Умение читать datasheet, reference manual, errata и применять их в коде. Опыт отладки проблем, которые проявляются только на железе. Умение работать с осциллографом или логическим анализатором. Понимание production-требований: отказоустойчивость, восстановление после ошибок, watchdog, диагностика. Git, Linux, базовые навыки shell/Python для автоматизации. Будет плюсом: Опыт с RISC-V микроконтроллерами. Опыт с Zephyr BSP, devicetree, Kconfig, out-of-tree drivers. Опыт с OpenBMC/BMC, PMBus, IPMI, серверным оборудованием. Опыт реализации bootloader или firmware update. Опыт анализа схем и поиска конфликтов GPIO/периферии. Опыт оптимизации RAM/Flash в сильно ограниченных MCU. Опыт сопровождения прошивок в production. Кто нам не подойдет: Кандидат, который писал только высокоуровневую прикладную логику без работы с железом. Кандидат, который не умеет читать datasheet/errata. Кандидат, который отлаживает проблемы методом случайных правок. Кандидат, который не понимает разницу между багом в приложении, драйвере, периферии и внешнем master-устройстве. Кандидат, который не работал с реальными таймингами, прерываниями и аппаратными состояниями. Условия: Собственная R&D IT-лаборатория. Официальное трудоустройство по ТК РФ. Полный социальный пакет, включая ДМС. График работы: гибкий, обсуждается. Размер заработной платы: обсуждаем. ИТ-аккредитация. Бронь.Похожие вакансии
Ведущий программист разработчик С++
От 250 000 руб.
Москва. Станции метро: Алексеевская
Пауэр Синтез
Программист микроконтроллеров (Embedded-программист)
Договорная
Москва. Станции метро: Алексеевская
Сорб групп