Apple is looking for software engineers with background in embedded software development to join a fast-paced environment to contribute to developing embedded software solution, debug and bring-up of the state-of-the-art next generation SOCs, supporting current and future Apple products. Your work will have a critical impact on getting high quality functional products to millions of customers quickly.
Requirements
- Proficient in C/C++, assembly a plus
- 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
- Familiar with IO protocols: I2C, SPMI, UART, GPIO.
- Experience in lpDDR4/5, DRAM initialization and calibration a big plus.
- Good troubleshooting skills in silicon bring-up and embedded software debugging
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 bachelor's degree and a minimum of 3 years of relevant industry experience in silicon validation software engineering or related field.
- Experience with script language such as Python, Perl, or Tcl