

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 and external open-source projects, managing the full development lifecycle from forking to merging
Triage issues, review pull requests, and maintain code quality in public 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:
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
Experience as a maintainer or significant contributor to a well-known open-source project is preferred