Linux - Embedded Software Engineer - Device Driver
ph7
Posted: November 5, 2013
Interested in this position?
Create a free account to apply with AI-powered matching
Quick Summary
Design and develop device drivers for various peripherals including NIC, USB and SATA, with a strong focus on multi-core and multi-threaded applications.
Required Skills
Job Description
A Network Processor Company
Linux Kernel Development, Optimization and Maintenance.
Design and Development of Device Drivers for various peripherals including NIC, USB and SATA.
Design and Development of BSP, HAL.
Participate in Silicon bring-up and debug.
Work closely with the Firmware and Hardware teams.
Mentor junior design engineers
BE/BS/MS/MTech or equivalent engineering degree (CS, ECE or EE) plus a minimum of 6 years of experience Linux Kernel/Device Driver, Network Stack development.
1. Very strong in C and data structures, preferably in developing multi-core or multi-threaded applications.
2. Proficiency in assembly (MIPS, x86, ARM, or PPC) is strongly desired.
3. In-depth knowledge of kernel functionality and architecture including knowledge of networking, memory management, process management etc.
4. Excellent debugging skills, experience with kernel debugging tools and JTAG is preferred.
5. Solid understanding of low-level CPU architecture (core, cache, MMU, bus architecture, etc.)
6. Must have hands on experience in developing device drivers for Linux kernel.
7. Experience with hardware peripherals / buses/ protocols like PCIe, USB, SATA, SD/MMC etc.
8. Good understanding of protocols & interfaces like SPI, I2C, RS-232 desirable.
9. Experience in developing Unix user-space applications desirable.