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.