Embedded Software Developer

Digital Twin 

📍 Cairo, Egypt 🇪🇬

full-time
mid-level
Posted —

Key Skills

FPGAARMLinuxC++SoC

Industry

Consumer ElectronicsTelecommunications

Job Description

Embedded Software Engineer


Position Overview


We are seeking an experienced Embedded Software Engineer with strong expertise in Xilinx Zynq SoCs, FPGA-based systems, and ARM processors. The ideal candidate will develop, integrate, and optimize embedded software solutions for high-performance real-time applications, working closely with FPGA, hardware, and system engineering team.

Ke y Responsibilities

  • Design, develop, test, and maintain embedded software for ARM-based processors and Zynq SoC platforms.
  • Develop low-level software including bootloaders, BSPs, device drivers, and hardware abstraction.
  • Integrate software with FPGA logic through AXI interfaces, DMA engines, and custom IP ores.
  • Collaborate with FPGA and hardware engineers to define system architectures and hardware/software
  • partitoning.
  • Develop and optimize real-time applications running on embedded Linux, Free RTOS, or bare-metal environments.
  • Debug complex hardware/software interactions using oscilloscopes, logic analyzers, JTAG debuggers, and software profiling tools.
  • Implement communication protocols such as SPI, I²C, UART, CAN, Ethernet, PCIe and USB.
  • Support system bring-up, validation, and performance optimization.
  • Create and maintain technical documentation, software specifications, and test procedures.
  • Participate in code reviews and follow software development bet practices


Required ualifications

  • Bachelor's or Master's degree in Computer Engineering, Electrical Engineering, Embedded Systems, or a related field.
  • 3+ years of experience in embedded software development.
  • Strong proficiency in C/C++ for embedded systems.
  • Hands-on experience with Xilinx Zynq-7000, Zynq Ultra Scale+ MPSoC, or similar SoC platforms.
  • Experience working with ARM Cortex-A and/or Cortex-R processors.
  • Familiarity with FPGA concepts and hardware/software co-design.
  • Experience developing Linux device drivers and embedded Linux applications.
  • Knowledge of boot processes, memory management, interrupts, and real-time systems.
  • Experience with debugging tools such as JTAG, GDB, nd hardware analyzers.
  • Proficiency with Git and modern software.