
Experienced Embedded Firmware/Software Engineer
Our Take
Develop embedded firmware and drivers for NXP Semiconductors' MCX, Crossover RT, and i.MX devices.
What you’ll do
- Develop HAL and peripheral device drivers
- Write high-quality, documented, and tested code
- Verify ROM code and software deliverables
- Debug issues in pre-silicon environments
- Support key customers and resolve system issues
- Contribute to internal projects, manage full lifecycle
- Triage issues and maintain code quality
What they’re looking for
- BS/MS Degree in EE/Computer Engineering or equivalent
- 3+ years (MS) or 5+ years (BS) embedded software experience
- Familiarity with ARM and RISC-V architectures
- Experience with C/C++/RUST/Python programming
- Knowledge of device drivers and embedded applications
- Experience with GCC, GNU make, ARM compilers
- Experience with logic analyzers and oscilloscopes
Skills & Focus Areas
- embedded software development
- device drivers
- bare metal
- RTOS
- C/C++
- Python
- ARM Assembly
- GCC
As posted by NXP Semiconductors
Job Summary:
Development of HAL and Peripheral device drivers for MCX, Crossover RT and i.MX family of devices, such as I2C Master/Slave, SPI Master/Slave, UART, USB, etc., to work in standalone bare metal, ROM and RTOS environments.
Deliver high quality, well documented and tested code for customers’ reference and use.
Verify ROM code and other software deliverables on pre-silicon test and debug environments such as RTL and Emulation platforms.
Actively support key customers.
Analyze, investigate and resolve system level issues together with other teams globally
Contribute to internal projects, managing the full development lifecycle from forking to merging
Triage issues, review pull requests, and maintain code quality in the repositories
Key Challenges:
The development of rom code in the absence of silicon
Verification and debugging issues in pre-silicon environments, meeting close to 100% test coverage
Hardening of the critical sections of the code to ensure rom code is not vulnerable to physical or logical attacks
Meeting required security and safety standards
Cross functional aspects:
Development of rom code involves interactions with several teams working on the SOC, Marketing, Systems Architects, SOC Design, Verification and Validation leads, Documentation, Software and other team leads.
Mentoring will be provided by senior members of the system rom team with over 10 years of experience in rom development and architecture
Job Qualifications:
- BS/MS Degree in EE or Computer Engineering with embedded software focus, or equivalent experience
MS with 3 years of experience or BS with 5 years of experience in the related field is required
Familiar with ARM Assembly, C/C++/RUST/Python programming is a plus
Understanding of embedded software development including device drivers and consumer embedded applications
Familiarity in following areas is preferred: Flash, SPI, I2C, USB, UART, CAN, etc.
Experience with the ARM and RISC-V based Architecture is preferred
Experience with GCC and GNU make, ARM compilers such as IAR, Keil and DS-5 is preferred
Experience with Atlassian tools such as JIRA, Bitbucket, etc., is preferred
Experience using logic analyzers and oscilloscopes is preferred