25 Sep
|
Capgemini Engineering
|
Karnataka
25 Sep
Capgemini Engineering
Karnataka
LocationBangalore, IndiaWork ModeWork From Office – 5 Days a WeekFace-to-Face (F2F) Interview is MandatoryJob SummaryWe are looking for an experienced Linux Device Driver Development Engineer with strong 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 ResponsibilitiesDesign, 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 & QualificationsCore Technical SkillsStrong 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.Solid 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 ExpertiseExperience 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 KnowledgeExperience with:Linux kernel modulesInterrupt architecture and event handlingDMA, IOMMU, IPC mechanismsPCIe subsystem and driversNetworking and Ethernet stackFamiliarity with Yocto-based projects or Buildroot.Experience in kernel upgradation, driver porting, and upstreaming.Desired / Added AdvantagesHands-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 EnvironmentDebuggers and profiling toolsVersion control systems such as Git / GitHubLinux kernel debugging and tracing toolsSoft SkillsStrong problem-solving and analytical skillsExcellent communication and collaboration abilitiesAbility to work independently and in a fast-paced, team-oriented environmentHigh attention to detail and commitment to code quality
📌 Linux Device Driver Development Engineer (Karnataka)
🏢 Capgemini Engineering
📍 Karnataka