Описание
Описания нет
Задачи
•Разрабатывать и поддерживать встроенное ПО для вычислительных блоков и навигационных систем
•Реализовывать логику работы с периферией и коммуникационными шинами на уровне HAL
•Оптимизировать производительность и потребление памяти в условиях ограниченных ресурсов
•Реализовывать и интегрировать пользовательские протоколы поверх аппаратных интерфейсов
•Писать модульные и интеграционные тесты для новых функций и рефакторинга существующего кода
•Участвовать в код-ревью и поддерживать высокие стандарты качества кода в команде
Требования
•Свободно владеть стандартами C++17/20, включая умные указатели, RAII, семантику перемещения и шаблоны
•Уметь работать с отладчиками GDB и LLDB, анализировать дампы памяти, использовать Valgrind и AddressSanitizer для поиска утечек и неопределённого поведения
•Понимать принципы работы ОС реального времени RTOS и иметь опыт работы с FreeRTOS
•Иметь опыт работы с аппаратными интерфейсами GPIO, UART, SPI, I2C, CAN и ETH на уровне HAL
•Иметь коммерческий опыт разработки на C++ от 4 лет
•Иметь опыт оптимизации кода с учётом ограничений памяти и CPU
•Иметь опыт реализации пользовательских протоколов поверх аппаратных интерфейсов
•Понимать принципы модульного тестирования
•Иметь опыт написания интеграционных тестов, включая эмуляцию периферии и аппаратных интерфейсов
Условия
•График 5/2