Программирование интерфейсов: SPI, I2C, UART, CAN, Ethernet (включая работу с DMA, прерываниями, кольцевыми буферами);
Разработка под FreeRTOS: задачи, очереди, семафоры, мьютексы, таймеры, синхронизация, анализ приоритетов, борьба с инверсией приоритетов, deadlock-ами;
Написание кода на C и C++ (с акцентом на embedded: bare-metal, MISRA-подобный стиль, ограничения по памяти);
Разработка тестовых и вспомогательных программ: консольные утилиты, скрипты на Shell, приложения на Qt для визуализации и отладки;
Работа в средах VS Code и/или Eclipse (сборка, отладка, интеграция с CMake/Make).
Требования
Опыт коммерческой разработки embedded от 2 лет;
Уверенное знание C (C99/C11) и C++ (C++14/17) для микроконтроллеров;
Практический опыт с STM32 (семейства F0/F1/F4/H7 и др.) и ESP32 (ESP-IDF);
Понимание работы HAL/LL, регистров, тактирования, DMA, прерываний, NVIC;
Опыт реализации цифровых фильтров и PID-регуляторов на реальном железе;
Уверенное владение SPI, I2C, UART, CAN, Ethernet;
Опыт работы с FreeRTOS: синхронизация, IPC, приоритеты, отладка race condition;
Умение писать поддерживаемый, документированный код и автотесты;
Опыт работы в VS Code и/или Eclipse.
Будет плюсом
Опыт в силовой электронике: управление инверторами, DC-DC, BLDC/PMSM, FOC;
Опыт написания консольных приложений и утилит;
Знание Shell (bash) и скриптов автоматизации сборки/тестирования;
Опыт с логическими анализаторами, осциллографами, отладчиками (ST-Link, J-Link);
Английский на уровне чтения документации (datasheet, reference manual, app notes).
Условия:
Оформление по ТК, полностью официальная заработная плата;
5-дневная рабочая неделя, с 9:00 до 18:00 ;
Работа в целеустремленном и сплоченном коллективе, в комфортной и лояльной среде.