Инженер-программист Embedded (MCU)
офис, гибрид, Москва
Команда Embedded разрабатывает и поддерживает прошивки микроконтроллеров, обеспечивающие работу серверного оборудования Yadro. Вы будете писать и рефакторить прошивки, развивать тесты и документацию, чтобы обеспечить надёжность и поддерживаемость устройств.
ГрейдMiddle/Senior
Стек
CRTOSGCCOpenOCDSTM32GD32MakegdbGitPythonBashCMakeJenkinspytestAllureCeedlingUSBUARTI2CSPICANBare-Metal
Задачи
- •Разработка прошивок для MCU (STM32, GD32, MIPS, RISC-V) на C
- •Поддержка и рефакторинг существующего встраиваемого ПО
- •Разработка драйверов и реализация периферийных интерфейсов (USB, UART, I2C, SPI, CAN)
- •Писать unit/функциональные тесты и поддерживать регрессионные сценарии
- •Автоматизация сборки и отладки (скрипты на Python/Bash, Make, OpenOCD, gdb)
- •Ведение документации и взаимодействие с менеджерами, тестировщиками и другими инженерами
Обязательно
- •Высокий уровень владения языком C
- •Опыт разработки под STM32/GD32 или аналогичных MCU
- •Опыт Bare-Metal и/или RTOS
- •Опыт разработки драйверов и работы с интерфейсами USB/UART/I2C/SPI/CAN
- •Умение работать с gcc, gdb, OpenOCD и Makefile
- •Знание Git/gitflow и опыт работы с PR-процессом
- •Умение писать unit/функциональные тесты и автоматизировать сборку
Будет плюсом
- •Знание CMake
- •Продвинутый Python для автоматизации и тестов
- •Опыт настройки CI/CD и Jenkins
- •Знание pytest, Allure, Ceedling
- •Опыт работы с серверным оборудованием и СХД