Программист микроконтроллеров, Embedded software developer

По договоренности

Россия, Москва, 2-я улица Синичкина, 9А
  • Шоссе Энтузиастов
  • Авиамоторная
  • Площадь Ильича

НПП «Цифровые решения» - разработчик и производитель телекоммуникационного оборудования, твердотельных накопителей информации и микросхем.

Мы уже более 20 лет успешно осуществляем полный цикл создания РЭА: от идеи до производства и дальнейшего технического сопровождения.

Сейчас мы находимся в поиске опытного программиста встраиваемых систем, с хорошим знанием устройства микроконтроллеров на низком уровне.

Проекты:

  • Микросхема с нейронным процессором
  • Микросхема видеообработки
  • Микросхема маршрутизатора
  • Микроконтроллеры общего и специализированного назначения

Требования:

  • Опыт программирования на языке C от 5 лет, непосредственное участие в завершенных проектах, умение понятно о них рассказать;
  • Опыт низкоуровневого программирования микроконтроллеров AVR или ARM;
  • Знание архитектуры микроконтроллеров, понимание деталей работы ядра и периферии;
  • Понимание принципов проектирования ПО, тестирования, CI/CD;
  • Знание общепринятых практик написания структурированного, читаемого кода;
  • Опыт работы с системами контроля версий;
  • Понимание устройства тулчейна (makefile, параметры компиляции, скрипты линкера).

Приветствуется, но не обязательно:

  • Опыт разработки под RTOS (FreeRTOS и аналоги);
  • Опыт разработки под архитектуру RISC-V;
  • Опыт разработки на Python;
    Знание Embedded Test Driven Development;
    Опыт работы с протоколами сетевого уровня (UDP, TCP/IP);
    Знание принципов ООП;
  • Опыт работы со статическими анализаторами кода, например, PC-Lint, PVS Studio, CppCheck.

Задачи:

  • Участие в полном цикле разработки микросхем - от RTL до запуска изготовленной микросхемы в изделии:
    • разработка HAL и API для аппаратных блоков
    • моделирование и макетирование блоков по отдельности и в составе процессорной системы
    • плотное взаимодействие с разработчиками периферийных блоков
  • Разработка тестового ПО для ПК на Python;
  • Разработка архитектуры программного проекта (модульность, переносимость);
  • Разработка примеров использования микроконтроллеров (SDK и example projects);
  • Отладка разрабатываемых компанией устройств, тестирование на совместимость со сторонним оборудованием;
  • Написание документации на собственный код в Doxygen, составление схем алгоритмов и т.п.
  • Рефакторинг легаси-кода с переносом его на новые проекты.

Рабочий процесс:

  • Постановка задач через Redmine и Gitlab;
  • Разработка на языке Си под архитектуру RISC-V, проекты bare metal и FreeRTOS;
  • Написание кода по установленному стандарту команды;
  • Взаимодействие с разработчиками аппаратных блоков, совместное моделирование аппаратной и программной части процессорной системы;
  • Системы контроля версий — git, svn;
  • Непрерывная интеграция и тестирование (автосборка всех коммитов, регресс-тесты);
  • Составление документации на собственный код (Doxygen, Drawio, Markdown).

    Тест, прикрепленный к вакансии, не обязательно решать правильно, но вопросы из него будут на собеседовании, если при отклике вы на них не ответили.

Адрес: Россия, Москва, 2-я улица Синичкина, 9А

Поделиться:

Опубликована день назад

Мы обрабатываем данные посетителей и используем куки в соответствии с политикой конфиденциальности.