Design and maintain robust firmware solutions for embedded systems centered on Xilinx Zynq UltraScale+ ARM platforms. You'll develop and optimize bootloaders, board support packages, and kernel modules, ensuring seamless integration between hardware and software layers.
Key Responsibilities
- Implement and maintain low-level drivers for communication interfaces such as SPI, I2C, PCIe, Ethernet, USB, and DisplayPort.
- Develop firmware for custom imager sensors, focusing on real-time data capture, processing pipelines, and performance tuning.
- Create and maintain ADC interface drivers, incorporating signal processing techniques for analog data acquisition.
- Build diagnostic tools and automated test frameworks to support hardware validation and manufacturing processes.
- Port and customize Linux distributions for ARM-based embedded systems, including device tree configuration and kernel modifications.
- Design GUI applications to enable system configuration, monitoring, and user interaction.
- Collaborate with hardware engineers during board bring-up, debugging integration challenges using JTAG, logic analyzers, and other diagnostic tools.
Qualifications
Applicants should demonstrate strong proficiency in C and C++ within embedded environments. Experience with ARM Cortex-A architectures and Xilinx Zynq or UltraScale+ platforms is essential. You must have hands-on knowledge of Linux kernel development, device driver implementation, and BSP customization.
Proven experience with multiple communication protocols—including SPI, I2C, PCIe, USB, and Ethernet—is required. Familiarity with image sensor integration, real-time data processing, and ADC signal chains is critical. You should also have experience with embedded GUI frameworks and display subsystems.
Strong debugging skills using tools such as oscilloscopes, protocol analyzers, and logic analyzers are expected. Proficiency with Git and collaborative development workflows is a must.
Preferred Background
- Experience integrating FPGA fabric with ARM processing systems.
- Knowledge of real-time operating systems (RTOS).
- Familiarity with camera interfaces such as MIPI CSI-2 or parallel sensor connections.
- Background in bootloader development using U-Boot or FSBL.
- Experience with automated testing and continuous integration pipelines for embedded platforms.