Description
You will develop and maintain system software, kernels, and device drivers for Android and Linux platforms.
Responsibilities
- Develop and maintain board-support packages, kernels, and device drivers for Android and Linux environments.
- Manage all software development phases, including hardware bring-up, design, and deployment.
- Debug complex embedded software issues using hardware and software tools.
- Implement and optimize OS internals such as schedulers, memory handling, and interrupt processing.
Required Skills
- 10+ years of experience in BSP and system software development.
- Strong programming proficiency in C and C++.
- Deep understanding of OS internals: scheduler, cache/memory handling, interrupt processing, MMU/SMMU, and IPCs.
- Experience with virtualization and hypervisor technologies.
- Solid knowledge of ARM architecture.
- Hands-on experience with peripherals and interfaces including SPI, UART, I2C, PCIe, USB, and Ethernet.
- Proven ability to debug complex embedded software.
Preferred Skills
- Experience using debugging tools such as JTAG, Trace32, oscilloscope, or Logical Analyzer.