26 Sep
|
Capgemini Engineering
|
Bengaluru
26 Sep
Capgemini Engineering
Bengaluru
Location
Bangalore, India
Work Mode
Work From Office – 5 Days a Week
Face-to-Face (F2F) Interview is Mandatory
Job Summary
We are looking for an experienced Linux Device Driver Development Engineer with solid expertise in embedded systems, Linux kernel internals, and hardware-software integration. The candidate will be responsible for developing, customizing, debugging, and maintaining Linux platform software and device drivers for custom hardware based on embedded SoCs. This role requires hands-on board bring-up, low-level debugging, and close collaboration with hardware, systems, and application teams in a fast-paced environment.
Key Responsibilities
Design, develop, customize, and maintain Linux device drivers and platform software for embedded SoC–based systems.
Work on BSP and platform software development for custom hardware platforms.
Perform board bring-up activities , including bootloader configuration and early kernel initialization.
Develop and validate Bare-Metal and Linux drivers , performing hardware-software validation using lab equipment such as oscilloscopes, logic analyzers, and JTAG-based debuggers .
Drive bootloader development/customization (U-Boot or equivalent), including power-on boot sequence and low-level initialization.
Debug complex system-level issues across bootloader, kernel, drivers, and hardware layers .
Understand and interpret board schematics, datasheets, and hardware reference manuals to support driver development and integration.
Work on kernel upgrades, driver porting, upstreaming, and component integration .
Develop and customize drivers for peripherals such as GPIO, SPI, I2C, UART, Sensors, NAND, NOR, eMMC, DDR , etc.
Contribute to Linux kernel subsystems , including scheduler, memory management, IPC, DMA, IOMMU, interrupt handling, polling mechanisms, and NAPI.
Develop and debug Linux platform drivers for components such as PCIe, Ethernet, USB, GPU, Display, and Multimedia subsystems .
Handle system-level debugging , issue isolation,
and root-cause analysis involving kernel crashes, performance bottlenecks, and hardware-related failures.
Collaborate closely with cross-functional teams to ensure seamless hardware–software integration .
Produce high-quality, maintainable, and well-documented code following best practices.
Required Skills & Qualifications
Core Technical Skills
Strong proficiency in C programming for kernel and system-level development.
In-depth knowledge of Linux kernel internals and device driver architecture.
Hands-on experience with Linux Device Driver Development .
Strong understanding of ARM and x86 processor architectures .
Deep knowledge of multi-core architectures, NUMA, and memory hierarchies .
Experience with concurrent programming , threading APIs, and synchronization mechanisms.
Strong understanding of operating system concepts (Linux and/or RTOS).
Embedded & Hardware Expertise
Experience working with embedded SoCs and Microcontrollers .
Hands-on board bring-up experience with custom hardware .
Strong debugging skills using JTAG/J-Link and other hardware debuggers .
Ability to validate software using hardware test equipment .
Kernel & System Knowledge
Experience with:
Linux kernel modules
Interrupt architecture and event handling
DMA, IOMMU, IPC mechanisms
PCIe subsystem and drivers
Networking and Ethernet stack
Familiarity with Yocto-based projects or Buildroot .
Experience in kernel upgradation, driver porting, and upstreaming .
Desired / Added Advantages
Hands-on experience with OpenGL and OpenCL .
Exposure to GPU, Multimedia, and Display driver development .
Experience in system performance tuning and optimization .
Familiarity with RTOS environments in addition to Linux.
Tools & Development Environment
Debuggers and profiling tools
Version control systems such as Git / GitHub
Linux kernel debugging and tracing tools
Soft Skills
Strong problem-solving and analytical skills
Excellent communication and collaboration abilities
Ability to work independently and in a fast-paced, team-oriented environment
High attention to detail and commitment to code quality
📌 Linux Device Driver Development Engineer (Bengaluru)
🏢 Capgemini Engineering
📍 Bengaluru