Senior embedded-разработчик (RISC-V SoC)
Описание
Мы разрабатываем изделия на базе собственных микросхем – систем-на-кристалле (SoC) выполняющих функции контроллеров сетевых адаптеров (NIC) и твердотельных дисков (SSD). Команда ведёт полный цикл: аппаратную часть (дизайн микросхем и печатных плат для них) и программную часть (прошивки, микрокоды, загрузчики, хостовое ПО, в т.ч. драйверы Linux и сервисные утилиты). Команда небольшая, каждый владеет своей частью продукта целиком. Мы ищем опытного embedded-разработчика ПО, который возьмет на себя слой прошивки SoC работающей на стыке "железа" и драйверов ОС и доведет ее до серийного изделия. Если же вам ближе драйверная сторона, часть задач можно сместить в Linux-ядро: драйверы для наших устройств также в зоне нашей ответственности. Обязанности: Разработка прошивок для вычислительных ядер SoC (прежде всего RISC-V) в режиме bare-metal и micro-RTO: инициализация и взаимодействие с функциональными блоками, тактирование, конкурентный доступ к общей памяти, организация DMA транзакций. Bring-up новых платформ: HAL, BSP, отладка интерфейсов совместно со схемотехниками, ревью дизайна с точки зрения ПО. Реализация цепочки загрузки: BootROM → SPL → U-Boot/ядро; SecureBoot, обновление прошивок (OTA, fail-safe A/B), watchdog и восстановление после сбоев. Периферия: низкоскоростная (I2C/SPI/UART/GPIO/MDIO) и высокоскоростная (PCIe/NVMe, Ethernet/MAC/PCS/PHY), внешняя память (DDR, HyperRAM). Обработка скоростных потоков данных: NVME-команды и MAС-фреймы в зависимости от проекта. Управление энергопотреблением: тепловой мониторинг, тактировние. Linux-драйверы для наших устройств (platform/PCIe/NIC/DPDK): разработка, совместимость с разными host-CPU и версиями ОС, оптимизация взаимодействия с прошивкой SoC. Низкоуровневая отладка на железе: JTAG, GDB, UART анализ дампов и трейсинг, при необходимости – осциллограф и логический анализатор. Автотесты на целевом железе, HIL-стенды, участие в CI. Техническая документация: составление и рецензирование. Сode review и управление MR, ревью и интеграция кода, внедрение LLM-агентов в разработку. Что мы ожидаем: Уверенный C (при необходимости – C++ и ассемблер для отдельных фрагментов), опыт embedded-разработки от 5 лет, доведение продуктов до серийного производства. Практика написания прошивок «с нуля»: регистровые карты, memory map, барьеры памяти и порядок обращений, прерывания DMA, FIFO, таймеры, linker-скрипты, startup-код. Опыт работы с RTOS (FreeRTOS, Zephyr, RTEMS или аналог): задачи, синхронизация, приоритеты, разбор дедлоков и гонок. Опыт bring-up плат и низкоуровневой отладки: JTAG/UART, осциллограф, логический анализатор; чтение принцииальных схем и даташитов. Понимание аппаратной части: цифровая схемотехника, шины и их тайминги, ограничения памяти и производительности. Инженерная культура: GCC, Git/GitLab, аккуратный код, умение работать с чужим кодом и большими кодовыми базами, тесты и документация к своему коду. Готовность учиться у коллег и делиться своим опытом. Будет плюсом: Опыт разработки Linux-драйверов уровня platform/PCI/NIC: DMA API, прерывания, очереди, синхронизация в ядре) – сильный плюс, под него можно сместить часть задач. Знание PCIe, Ethernet на уровне протокола NVMe, MAC/PCS/PHY. Secure boot, работа с криптоускорителями и crypto API ядра Linux. Сетевой стек Linux (netdev, NAPI, XDP), DPDK, SR-IOV. Опыт с с RISC-V: конкретные ядра, privileged-спецификация, отладка на симуляторах и эмуляторах. FPGA, взаимодействие с разработчиками RTL. Python для тестовой инфраструктуры и утилит. Английский для чтения технической документации. Приветствуется ссылка на GitHub или примеры патчей (в том числе в open-source проекты) или короткое описание проекта, которым вы гордитесь. Условия: Оформление по ТК РФ. Зарплата фиксируется по итогам собеседования. Гибридный формат работы. Небольшая команда, которая сама владеет разрабатываемыми продуктами (от схемы и RTL до драйверов): есть у кого спросить и с кем спорить. Реальные образцы изделий собственной разработки на столе; развитая инфраструктура удалённого доступа к стендам с оборудованию. ДМС, корпоративное обучение. ИТ-аккредитация. Бронь.