Description :
- Design, develop, and debug Linux Device Drivers for subsystems such as GPIO, DMA, LCD, Sensor, PCIe, Ethernet, NAND / NOR, or USB.
- Work on kernel-level programming, board bring-up, and hardware interfacing.
- Develop and optimize embedded C code with a strong focus on performance and reliability.
- Collaborate with hardware and software teams to analyze system requirements and integration challenges.
- Conduct code reviews, unit testing, and documentation of software modules.
- Troubleshoot low-level issues using debugging tools like GDB, JTAG, or Logic Analyzer.
- Maintain and enhance existing device driver frameworks.
Required Skills & Competencies :
Strong proficiency in Embedded C programming and Data Structures.Good understanding of Linux Internals (kernel architecture, process management, memory management).Hands-on experience in at least one or two Linux Device Driver development projects.Sound knowledge of hardware communication protocols (I2C, SPI, UART, USB, Ethernet, PCIe, etc.).Strong problem-solving, debugging, and analytical skills.Good logical reasoning and ability to clearly explain technical concepts.Excellent verbal and written communication skills.Preferred Qualifications :
Bachelors or Masters degree in Electronics, Computer Science, or related field.Exposure to Yocto, Buildroot, or U-Boot.Familiarity with version control systems (Git).Experience with RTOS or Bare Metal programming is a plus.(ref : hirist.tech)