Обязанности
•Полный цикл разработки: анализ ЧТЗ на разработку программного обеспечения, проектирование, кодирование, отладка на реальном железе, документирование.
•Разработка и поддержка программного обеспечения для встраиваемых систем на базе SoC Xilinx Zynq (включая серии 7000 и UltraScale+ MPSoC).
•Разработка «bare-metal» приложений для Zynq 7000 и UltraScale+ MPSoC.
•Настройка DMA, обработка прерываний, работа с AXI-шиной.
•Разработка GUI приложений на QT для взаимодействия с аппаратной частью.
Мы ожидаем от кандидата
•Высшее техническое образование (радиотехника, электроника, вычислительная техника, физика).
•Опыт embedded разработки от 3-х лет.
•Наличие опыта работы в САПР Vivado (SDK/Vitis).
•Опыт работы с интерфейсами: UART, SPI, I2C, TCP/IP, Ethernet, QSPI Flash.
•Понимание работы контроллера прерываний Xilinx GIC / NVIC.
•Умение работать с осциллографом, анализатором протоколов и другим лабораторным оборудованием для отладки на плате.
•Уверенное владение C и C++.
•Использование в работе Git, CMake.
Будет преимуществом
•Написание драйверов и модулей ядра Linux для Zynq 7000 и UltraScale+ MPSoC.
•Наличие опыта в сборке и конфигурировании ядра Linux, загрузчика U-Boot, Device Tree.
•Опыт организации взаимодействия Qt-приложения с драйверами, ПЛИС и периферией через ioctl, sysfs, shared memory, DMA-буферы.
•Опыт работы с U-Boot, PetaLinux или Yocto.
•Практические навыки ручной раскладки кода и данных по физическим адресам SoC (DDR, OCM, BRAM) через скрипты компоновщика.
•Умение проектировать многоуровневые системы приоритетов прерываний, минимизировать время задержки (Interrupt Latency).