от 250000 до 250000 RUR
Санкт-Петербург
Благодатная улица 10
Благодатная улица 10
От 3 до 6 лет
Обязанности:
- Разработка драйверов для промышленного оборудования
- Создание программного обеспечения для обработки видеопотоков
- Реализация протоколов связи с периферийным оборудованием
- Оптимизация производительности систем реального времени
- Документирование разработанных решений
Требования:
- Уверенное владение языками программирования C/C++.
- Опыт работы с операционной системой Linux на уровне системного программирования (инициализация системы, службы, драйверы), а не только пользовательских приложений.
- Понимание принципов взаимодействия программного обеспечения с аппаратной частью (регистры, прерывания, шины, контроллеры).
- Практический опыт работы с последовательными и промышленными интерфейсами: UART, RS‑485, CAN, I2C, SPI и аналогичными.
- Опыт работы с протоколами FieldBus (в основном Modbus RTU, Modbus TCP), а также проприетарными бинарными протоколами
- Опыт разработки многопоточных приложений и организации межпроцессного взаимодействия.
- Навыки диагностики и поиска неисправностей с использованием измерительного оборудования и/или специализированных диагностических утилит
- Умение читать и применять техническую документацию на электронные компоненты и модули (datasheet, application notes, reference design)
Желательный опыт
- Опыт портирования Linux (или другого POSIX‑совместимого ОС) на новые аппаратные платформы (одноплатные компьютеры, кастомные платы).
- Опыт работы с одноплатными компьютерами на базе чипов RK35XX или подобных.
- Опыт обработки данных и понимание особенностей анализа временных рядов.
- Практика разработки или модификации драйверов устройств.
- Опыт оптимизации времени отклика и задержек выполнения программ, в том числе в системах реального времени.
- Навыки разработки графических пользовательских интерфейсов (предпочтительно Qt или аналогичные фреймворки).
- Опыт написания скриптов автоматизации сборки, развертывания и настройки систем (shell‑скрипты, Python и др.).
Желательный практический опыт
- Запуск, отладка и сопровождение собственных плат или контроллеров на базе одноплатных компьютеров или SoC.
- Подключение и интеграция новых датчиков, модулей или периферийных устройств, включая настройку протоколов обмена.
- Разработка драйверов или низкоуровневых протоколов обмена данными с оборудованием.[1]
- Создание сервисных (демонных) программ для взаимодействия с оборудованием и другими компонентами системы.
- Анализ и устранение причин нестабильной работы устройства (зависания, перезапуски, нарушения обмена данными и т.п.).