We are seeking a skilled Embedded Linux software engineer for a contract engagement, with approximately 5 years of hands-on experience in Linux system configuration, board bring-up, Kernel customization, driver development, and user-space applications.
Key Responsibilities:
Configure and optimize Linux kernels and device trees for NXP i.MX and NVIDIA platforms.
Develop, modify, and debug Linux device drivers, BSPs, and system services.
Develop and maintain user-space and system -level applications.
Configure and optimize U-Boot, boot sequences, and NFS network boot environments.
Interface with low-level peripherals and protocols, including I2C, SPI, GPIO, RTCs, and Watchdogs.
Configure and troubleshoot network interfaces across physical, MAC, and IP layers.
Develop Bash/ Python scripts for automation, testing, and system configuration.
Requirements: Required Skills Qualifications
Hands-on experience with NXP i.MX6/i.MX9 processors, including board bring-up and BSP configuration.
Strong knowledge of Linux Kernel configuration, compilation, and Device Tree customization.
Experience developing and debugging Linux character/block device drivers.
User-space development experience ( C / C ++ preferred).
Practical experience with U-Boot, boot configuration, and NFS network boot.
Understanding of networking, particularly MAC and IP layers.
Familiarity with low-level interfaces: I2C, SPI, GPIO, RTC, Watchdogs, and IO Expanders.
Proficiency in Linux debugging tools, hardware probes, oscilloscopes, and logic analyzers.
Scripting skills in Bash and/or Python for automation and testing.
Experience using AI-assisted development tools such as GitHub Copilot or ChatGPT.
This position is open to all candidates.