Требования
- Опыт работы с buildroot и Armbian
- Понимание архитектуры и принципов организации встраиваемых решений на базе ОС Linux: загрузчик, ядро и модули ядра, Device Tree, файловая система, компиляция и кросс-компиляция, отладка и т. д.;
- Опыт работы с системами автоматизации сборки программного обеспечения из исходного кода (Autotools, CMake и др.);
- Опыт программирования прикладных программ на С, C++;
- Умение работать с технической документацией;
- Умение работать с системами контроля версий (Git);
- Знание английского языка.
Обязанности
- Разработка прикладного ПО для изделий, содержащих компоненты со встроенным Linux
- Работа со сторонними модулями, в том числе с различными коммуникационными драйверами
- Сборка системы с внесением изменений в ядро
- Составление эксплуатационной документации на программные модули
- Сопровождение, рефакторинг и реинжиниринг программных модулей
- Отладка прикладного ПО на изделии с использованием осциллограф
- Работа с выводом звука и изображений (FFMPEG, gstreamer)
Желательно
- Знание скриптовых языков (Shell, Python и др.);
- Опыт программирования на C++;
- Опыт создания прошивок с помощью инструментов Yocto/OpenEmbedded, OpenWRT и др.;
- Понимание принципов работы интерфейсов передачи данных (UART, SPI, I2C, PCI-E и др.);
- Умение читать и понимать принципиальные схемы для печатных плат;
- Понимание принципов функционирования сетей TCP/IP, опыт программирования сетевых приложений.
Готовы рассмотреть различные варианты условия и графика работы