The ASIC Software Engineer is responsible for Linux Kernel or Zephyr development and optimization on system-on-chip (SoC) products. The role requires developing, optimizing, or modifying kernel-related system software and boot flow to provide the best system performance. Major responsibilities include: 1. Port and bring up the latest Linux Kernel on SoC platforms. 2. Troubleshoot system issues and optimize the Linux Kernel for better performance. 3. Familiar with Linux or open source software (e.g., Zephyr) and their development environments. 4. Familiar with GCC and related toolchain utilities. 5. Set up and maintain cross-platform development environments. 6. Develop kernel device drivers and boot loaders.
Main Requirements and Qualifications
1. Experience with embedded software development is preferred.
2. Knowledge and experience with Linux or Zephyr kernel and device driver development.
3. Proficient in C/C++ programming.
4. Familiarity with CPU boot flow, such as ROM and boot loader, is a plus.
5. Experience with multi-processor programming is a plus.
6. Experience with Android application framework is a plus.