Инженер-программист встраиваемых систем
Описание
Обязанности: Разработка и поддержка встраиваемого ПО на базе ядра Linux для ARM64 SoC. Портирование и оптимизация пользовательского интерфейса на Qt (QML/Widgets) под целевое железо, включая настройку вывода графики через GPU. Настройка и сборка кастомных образов Linux через Buildroot, включая интеграцию Qt-библиотек, rootfs и компонентов системы. Работа с периферией и интерфейсами: UART, I2C, SPI, GPIO, PCIe, Ethernet, USB, а также мультимедийными блоками (видеодекодер/энкодер). Отладка взаимодействия «железо — ядро — userspace», анализ kernel panic/oops, работа с GDB/JTAG, диагностика проблем на уровне Device Tree. Оптимизация производительности и энергопотребления системы, включая время запуска Qt-приложения (Qt Quick startup time optimization). Требования: Опыт коммерческой разработки на C/C++ для встраиваемых систем от 3 лет. Опыт разработки под ARM64 SoC (Rockchip, Qualcomm и аналогичные). Уверенное владение Qt/QML: опыт создания приложений на Qt Quick/Widgets, понимание взаимодействия QML с C++ и системными вызовами. Опыт кросс-компиляции под ARM64: работа с тулчейнами (GCC/aarch64), qmake/cmake, сборка Qt-приложений для embedded Linux. Знание архитектуры Linux: устройство ядра, Device Tree, systemd, процессы загрузки, файловые системы. Опыт работы с Buildroot для сборки кастомных образов с интегрированным Qt-рантаймом. Понимание специфики работы с GPU (OpenGL ES) и настройки вывода графики в embedded Linux. Английский язык — чтение технической документации (datasheet, kernel docs, Qt docs). Будет плюсом: Опыт работы с SoC Rockchip (RK3576, RK3568, RK3588 и др.) и их SDK (Rockchip Linux SDK, rkbin, rkdeveloptool). Знание особенностей загрузки Rockchip-платформ (U-Boot, maskrom/recovery режимы).