Fairwinds Technologies is a U.S.-based engineering firm specializing in Satellite Communications and related technologies. They are seeking an Embedded Software Engineer to develop and deploy software on Xilinx UltraScale+ platforms, focusing on low-level and Linux-based embedded software for mission-critical applications.
Responsibilities:
- Develop embedded Linux software for Xilinx UltraScale+ (Zynq UltraScale+ MPSoC) platforms using PetaLinux (BSP creation, kernel configuration, rootfs customization, and image generation)
- Support hardware bring-up and integration on custom PCB designs, including board validation, peripheral checkout, and troubleshooting
- Implement and maintain device drivers and board support components (GPIO, I2C, SPI, UART, PCIe, Ethernet, DMA, etc.)
- Integrate FPGA logic with embedded software using AXI interfaces and Linux user-space access methods (UIO, mmap, sysfs, etc.)
- Build and optimize performance-critical embedded Linux applications (real-time data movement, streaming interfaces, latency tuning)
- Develop test utilities, diagnostics, and automation for lab and field validation
- Participate in system integration and testing in lab and field settings; debug cross-domain issues spanning hardware, FPGA, kernel, and user space
- Author technical documentation, software design descriptions, integration notes, and SBIR deliverables as required
Requirements:
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or related field
- Minimum 8+ years of experience in embedded software development for Linux-based systems
- Must have hands-on experience with Xilinx UltraScale+ platforms
- Must have hands-on experience with PetaLinux (creating/customizing images, kernel/device tree configuration, rootfs management)
- Must have experience working with PCB-based embedded hardware (bring-up support, debug with lab tools, working directly with schematics/board constraints)
- Proficiency in C/C++ and scripting (Bash and/or Python) in embedded environments
- Proficiency in SVN, Git or other software configuration management tool
- Experience debugging Linux kernel/user-space interactions and hardware/software integration issues
- Comfortable using standard embedded debug tools (JTAG, UART console, logic analyzer/oscilloscope basics) and Linux tooling (gdb, strace, perf, dmesg)
- U.S. Citizenship and an active DoD Secret (or higher) security clearance (or ability to obtain)
- Experience with Xilinx toolchain workflows (Vivado integration context, Vitis/SDK familiarity helpful)
- Device tree and kernel driver development experience (platform drivers, char drivers, DMA, interrupt handling)
- Familiarity with real-time Linux concepts (PREEMPT_RT, CPU isolation, IRQ affinity, latency profiling)
- Experience integrating high-throughput datapaths (10GbE, PCIe, JESD-style streaming, RF front-end control planes)
- Understanding of secure boot, image signing, and hardening on embedded Linux platforms
- Experience with Yocto or Buildroot for generating Linux kernel and root filesystems
- Experience with RTOS/Bare metal programming of ARM Cortex microcontrollers
- Experience supporting DoD SBIR projects or similar government-funded R&D efforts