jobapplier

PCIE Driver Development _2919

Tessolve Semiconductor Private Limited

This job is closed: the employer no longer lists it.

Skills

Required

  • Linux kernel development
  • Linux kernel device driver development
  • PCIe drivers
  • programming
  • C++
  • application development
  • low-level/kernel components
  • PCIe architecture
  • device communication
  • MMIO
  • register-level programming
  • MSI / MSI-X
  • interrupts
  • DMA
  • data transfer

Preferred

  • PCIe driver development
  • FPGA-based systems
  • prototyping
  • embedded hardware platforms
  • Linux kernel performance tuning
  • profiling
  • kernel tracing
  • hardware bring-up
  • Linux kernel
  • maps

Responsibilities

  • Design, develop, and maintain Linux kernel device drivers for custom hardware.
  • Develop and enhance PCIe-based device drivers and low-level communication interfaces.
  • Implement driver initialization, Memory-Mapped I/O (MMIO) , interrupt handling, and synchronization mechanisms.
  • Work with MSI/MSI-X interrupts , DMA, memory management, and kernel synchronization primitives.
  • Design and develop a transport/abstraction layer that provides a stable and efficient interface to upper-layer software.
  • Optimize high-performance data paths for throughput, latency, and reliability.
  • Implement robust error handling, fault recovery, and device recovery mechanisms.
  • Develop diagnostic utilities, test hooks, and debugging tools to support software and hardware bring-up.
  • Analyze and debug kernel crashes, race conditions, timing issues, deadlocks, and performance bottlenecks .
  • Work closely with hardware and FPGA teams to understand register maps, hardware specifications, and device behavior.
  • Debug hardware/software interactions using low-level debugging and system-level analysis.
  • Contribute to kernel code reviews, patch development, maintenance, and release activities.
  • Work with kernel build systems, source-control tools, and standard patch workflows.

Requirements

  • Skills 4–7 years of hands-on experience in Linux kernel development.
  • Strong expertise in Linux kernel device driver development , particularly PCIe drivers .
  • Excellent programming skills in C .
  • Strong understanding of C++ application development and its interaction with low-level/kernel components.
  • PCIe architecture and device communication MMIO and register-level programming MSI/MSI-X interrupts DMA and high-performance data transfer Kernel synchronization and locking Concurrency and multithreading Linux kernel subsystems Proven experience debugging: Kernel crashes Race conditions Deadlocks Timing-related issues Memory-related issues Driver/hardware interaction problems Ability to understand and work from hardware interface specifications, register maps, and hardware design documents .
  • Good understanding of Linux kernel build systems, source control, patch management, and code review workflows.
  • Bachelor's or Master's degree in Computer Science, Electronics, Electrical Engineering, or a related field .

Preferred

  • Skills Experience developing high-throughput or low-latency data paths .
  • Experience with FPGA-based systems, prototyping boards, or embedded hardware platforms .
  • Knowledge of Linux kernel performance tuning and profiling.
  • Experience with kernel tracing and debugging tools.
  • Exposure to hardware bring-up and system-level validation.
  • Understanding of DMA engines, IOMMU, BARs, and PCIe enumeration.
  • Experience working in collaborative hardware/software development environments.
  • Candidate Profile The ideal candidate should have strong hands-on experience in Linux kernel and PCIe driver development , excellent C programming skills, and the ability to work at the intersection of hardware, firmware, kernel, and application software .
  • Strong debugging skills, low-level hardware understanding, and experience developing reliable high-performance data paths will be highly valued.

Role Details

  • PCIe Driver Engineer Location
  • Bengaluru Experience: 4–7 Years Employment Type: Full-Time