Описание: |
Мы выпускаем контроллеры для автоматизации с Linux на борту, сами разрабатываем для них железо (последние две версии на основе индустриальных ARM-процессоров Allwinner). Обязанности: -
брингап нового оборудования компании; -
обновление версий ядра, портирование патчей, отправка наших изменений в апстрим; -
отладка на уровне ядра и около аппаратуры. Требования: -
Глубокое понимание принципов работы устройств с Linux (порядок загрузки ОС, как ядро взаимодействует с оборудованием, как устроена сеть и т.д.) -
Знакомство с устройством аппаратных интерфейсов (UART, I2C, SPI и т.д.) -
Опыт разработки и отладки ПО на языке Си (возможно, не только связанный с Linux kernel) -
Знакомство с системой сборки linux и u-boot (Kconfig, make) -
Работа с Git-репозиторием (работа в git workflow с pull request/merge request, опыт сложных операций в истории коммитов - rebase, cherry-pick) -
Желателен опыт отправки патчей в апстрим и прохождения ревью, работы со списками рассылок ядра для поиска готовых патчей, либо готовность с этим разбираться -
Очень желателен опыт отладки на оборудовании (с проводами, логическим анализатором и осциллографом, чтением схем) или готовность в этом разбираться. Плюсом будет: -
опыт разработки в embedded / bare metal (STM32 или что-то другое) -
знания в области разработки электроники -
опыт использования систем сборки вроде Yocto, Buildroot или подобных -
опыт брингапа на одноплатниках / встраиваемых системах / Android телефонах или планшетах (на уровне ядра) -
работа с Debian: сборка пакетов, правильная работа с зависимостями и т.д. Условия: |