Embedded Software Engineer

Robotics Technologies LLC
Milpitas, CA, United States
9 days ago
Apply on www.indeed.com
Prepare application

Role details

Contract type
Temporary contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Job source

Tech stack

Software Applications ARM Architecture C++ (Programming Language) CMake Profiling Computer Programming Concurrent Computing Linux Memory Management Linux on Embedded Systems Embedded Software Firmware
+13 more
Field-Programmable Gate Array (FPGA) PCI Express Performance Tuning Posix Memory Leaks Signal Processing System on a Chip Vivado Multithreading Fpga Hardware Git Perf (Linux) Optimization Algorithms

Job description

We are seeking an expert Embedded Software / Firmware Contractor to design, implement, and optimize high-throughput multi-threaded software for embedded Linux on AMD Xilinx FPGA / MPSoC and RFSoc architectures (e.g., Zynq UltraScale+). The contractor will be responsible for accelerating critical computational workloads (such as signal processing or array arithmetic) using ARM NEON SIMD instructions and interfacing custom C/C++ applications with hardware IP blocks in the FPGA logic. Scope of Work & Deliverables High-Performance Multi-Threading: Architect and implement efficient C/C++ userspace applications utilizing POSIX threads (pthreads), thread isolation, CPU affinity, and lock-free synchronization routines to handle real-time streaming data on embedded Linux. ARM NEON Optimization: Vectorize and optimize critical algorithmic loops using ARM NEON intrinsics and assembly to maximize SIMD throughput on ARM Cortex-A processor cores. FPGA Hardware Integration: Develop robust software drivers/interfaces (e.g., Linux UIO, AXI DMA, memory-mapped registers) to exchange data between Linux software applications and custom IP blocks in the Xilinx Programmable Logic (PL). Profiling & Performance Tuning: Utilize Linux profiling tools (perf, Valgrind, custom execution benchmarks) to diagnose bottlenecks, optimize cache usage, and ensure deterministic performance. Technical Documentation & Code Hand-off: Deliver well-commented, productiongrade source code along with architectural notes, integration build scripts, and test procedures for internal engineering hand-off.

Requirements

Core Programming: Expert-level C for embedded Linux environments. Vector Acceleration: Hands-on proficiency with ARM NEON SIMD intrinsics and assembly-level optimization techniques. Xilinx SoC Platform: Demonstrated experience with Xilinx Zynq UltraScale+ MPSoC/RFSoC platforms (PetaLinux). Hardware Interfacing: Deep understanding of AXI4, PCIe, AXI DMA engines, and Linux memory management (DMA-BUF, /dev/mem, UIO). Multi-Threaded Systems: Solid background in concurrent programming, memory synchronization, and real-time POSIX scheduling. Tooling: Expertise with GCC/Clang cross-compilation toolchains, GDB, Vivado / Vitis, CMake, and Git. Equal Opportunity Employer

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.indeed.com
Prepare application

Good distractions

Loading talks and stories from around this role…