PCIE Driver Development _2919
Tessolve Semiconductor Private Limited
- Electronic City, Bengaluru, Karnataka, India
- 4+ years
- Bachelor's degree
- Posted
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
jobapplier