Apple is looking for exceptional software engineers to join a fast-paced environment to contribute to developing embedded software solutions, debug and bring-up of the state-of-the-art next generation SOCs, supporting current and future Apple products. The work will have a critical impact on getting high quality functional products to millions of customers quickly. The role involves developing and improving embedded silicon test software platforms, including Common Firmware Environment and RTOS.
Requirements
- Proficient in C/C++
- Background in embedded software development, bare metal, RTOS and/or Linux
- Solid understanding about ARM specification, computer architecture, operating system
- Experience in boot code, CPU & SOC initialization, device drivers
- Experience in lpDDR4/5, DRAM initialization and calibration a big plus
- Experience in pre/post silicon verification on SOC is a plus.
- Familiar with IO protocols: I2C, SPI, SPMI, UART, GPIO (PCIe/USB-C is a plus.)
Responsibilities
- Develop boot and driver code for Apple SOC, including AP clusters, IO Co-Processor system, fabric, power management, memory and other I/O devices
- Design, implement, and enhance Common Firmware Environment (CFE) and other platform software for Apple silicon validation organization
- Develop system software to exercise power saving feature (suspend and resume)
- Contribute to SDRAM initialization and calibration development
- Implement firmware driver for PMIC and battery charging
- Participate in the chip bring-up on simulator, emulation, FPGA and silicon.
- Develop applications covering system level use cases and functional features
Other
- A minimum of a BS degree and a minimum of 10 years of relevant industry experience in silicon validation software engineering or related field.
- Good troubleshooting skills in silicon bring-up and embedded software debugging
- Experience with script language such as Python, Perl, or Tcl.
- Apple is an equal opportunity employer that is committed to inclusion and diversity.