Description
As an Embedded Linux Driver Engineer, you will be responsible for designing, developing, and maintaining low-level software, including device drivers and board support packages. You will work closely with hardware and firmware teams to ensure seamless integration of peripheral devices on embedded platforms.
Key Responsibilities
- Develop and maintain Linux kernel modules and device drivers for embedded platforms.
- Work on Board Support Packages (BSP), including bootloader development and customization.
- Port and migrate Linux kernels to various hardware platforms and architectures.
- Interface with hardware through protocols like UART, I2C, SPI, I2S, GPIO, PCIe, MMC, USB, etc.
- Collaborate with cross-functional teams to define software requirements and resolve hardware/software integration issues.
- Debug and optimize system-level issues to improve performance, stability, and reliability.
- Provide detailed documentation of driver development and integration processes.
Required Skills & Qualifications
- Strong experience in System C programming on Linux-based platforms.
- 5+ years of hands-on experience in Linux kernel and device driver development.
- Expertise in Linux internals, kernel debugging, and hardware-software integration.
- Proficient with bootloader development and BSP customization.
- In-depth experience with peripheral interfaces such as UART, I2C, SPI, I2S, GPIO, PCIe, MMC, USB.
- Solid understanding of processor architecture, especially i.e. MX or ARM-based platforms.
- Experience in kernel porting/migration across versions and platforms.
Nice To Have
- Experience working with PowerPC architecture.
- Familiarity with Python scripting for automation or testing tasks.
- Exposure to embedded development tools (JTAG, oscilloscopes, logic analyzers, etc.)
(ref:hirist.tech)