Responsibilities:
- Lead migration of existing software applications from NXP S32K1 MCU architecture to S32K3 MCUs, ensuring functional equivalence and performance optimization.
- Develop, integrate, and validate low-level drivers and hardware abstraction layers for the S32K3 platform using NXP’s SDK and Real-Time Drivers (RTD).
- Adapt embedded C/C++ software to leverage the Cortex-M7 cores, multi-core configurations, and enhanced peripherals including Ethernet TSN, enhanced FlexIO, and security engines.
- Ensure software compliance with ISO 26262 functional safety standards (up to ASIL-D) and embed security best practices for automotive-grade applications.
- Collaborate with hardware teams to align software development with new hardware architectures, pin mappings, and memory configurations.
- Utilize NXP’s tools such as S32 Design Studio, MBDT, and Free MASTER for efficient software development, debugging, and motor control application development.
- Develop and maintain secure firmware update mechanisms including Over-The-Air (OTA) firmware management.
- Mentor team members and document migration processes and coding best practices.
- Work closely with cross-functional teams using Agile methodologies to deliver high-quality automotive firmware solutions.
Required Skills and Qualifications:
- Bachelor’s or master’s degree in electrical/Electronic Engineering, or equivalent.
- Strong embedded software programming skills in C/C++.
- Experience with ARM Cortex-M microcontrollers, especially Cortex-M0+, M4F, and M7 architecture.
- Hands-on experience with NXP S32K1 and/or S32K3 microcontroller families and their SDKs.
- Knowledge of automotive communication protocols such as CAN FD, Ethernet TSN, SPI, and I2C.
- Solid understanding of automotive safety standards (ISO 26262), security standards (ISO 21434), and embedded security engines.
- Familiarity with real-time operating systems (RTOS), hardware abstraction layers (HAL), and low-level driver development.
- Proficient with development tools like S32 Design Studio, Eclipse-based IDEs, compiler tool chains (GCC, IAR), and debugging tools.
- Knowledge of multi-core synchronization, inter-processor communication, and lockstep operation is a plus.
- Experience with model-based design tools (MATLAB/Simulink) and motor control software is highly desirable.
- Strong problem-solving skills, attention to detail, and ability to work in a collaborative, fast-paced environment.
Deliverables:
- Deliver a detailed S32K1 to S32K3 migration plan with timelines and architecture impact analysis.
- Configure and manage memory components including RAM, ROM, and NVRAM.
- Set up and validate peripheral drivers: GPIO, Clock, ADC, Interrupt handling, Timer, PWM, etc.
- Integrate and manage communication protocols: I2C, SPI, CAN.
- Develop and maintain linker scripts and make files for build configuration.
- Provide fully adapted and tested low-level drivers and HAL software for S32K3 peripherals.
- Complete porting and functional validation of application software on the S32K3 platform.
- Integrate and validate NXP Real-Time Drivers (RTD) for reliable real-time control on S32K3.
- Implement and document security features meeting automotive safety and cybersecurity standards.
- Develop and verify firmware Over-The-Air (FOTA) update mechanisms with rollback capability.
- Produce comprehensive test cases and execution reports covering unit, integration, and system tests.
- Optimize software performance and power consumption with documented analysis reports.
- Prepare and deliver migration knowledge transfer sessions and maintain up-to-date documentation.
- Provide timely bug fixes and post-migration software support during deployment phase.