Job Description
CPU Embedded Software Engineer
The ideal candidate will be responsible for developing and maintaining the embedded software stack for CPU/MCU subsystem.
This role requires a deep understanding of CPU architecture, low-level system software development, and MCU peripherals.
- Design, develop, and optimize the software stack for MCUs, including initialization code, drivers, and peripheral libraries.
- Collaborate with hardware engineers to ensure proper integration of the software and MCU hardware.
- Debug and troubleshoot stability, performance, power issues and provide timely resolutions.
- Work closely with firmware developers to support application development on the MCU platform.
Requirement
- Master's degree in Computer Engineering, Electrical Engineering, or a related field.
- Proven experience in CPU system software engineering with a focus on MCU software development.
- In-depth knowledge of CPU architecture, low-level system software development, and MCU peripherals.
- Proficiency in C/C++ programming and familiarity with embedded system development.
- Strong analytical and problem-solving skills.
Preferred Qualifications
- Experience with popular MCU families such as ARM Cortex-A, Cortex-M, or RISC-V architecture.
- Experience with low power management frameworks and tools in embedded system environments.
- Familiarity with RTOS (Real-Time Operating Systems) and device driver development.
- Experience with debugging tools and techniques for MCU development.
- Knowledge of debugging/performance analysis tools and techniques for embedded systems.
- Excellent communication and collaboration abilities.