Search Jobs

Search by job, company or skills

PCIE Driver Development _2919

PCIE Driver Development _2919

Tessolve
  • Posted 7 hours ago
  • Be among the first 10 applicants

Job Description

PCIe Driver Engineer

Location: Bengaluru

Experience: 4–7 Years

Employment Type: Full-Time

Role Overview

We are looking for an experienced Linux Kernel Driver Engineer with strong expertise in kernel-level development, PCIe device drivers, and low-level hardware communication.

The candidate will be responsible for developing and maintaining Linux kernel drivers for custom hardware, building robust transport and abstraction layers, and working closely with hardware/FPGA teams to debug, optimize, and validate high-performance device communication.

Key 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.

Required 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.
  • Deep understanding of:
    • 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.
Good-to-Have 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.

Education

  • Bachelor's or Master's degree in Computer Science, Electronics, Electrical Engineering, or a related field.

Preferred 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.

More Info

Job Type:
Employment Type:

About Company