Description
The Apple Cellular Platform Software team is looking for a cross-disciplinary firmware engineer passionate about embedded systems. In this role, you will work at the hardware/software interface and develop a range of low-level device drivers that directly control hardware, such as CPUs, memory, DMA, timers, interrupts, GPIOs, I2C, SPI, and hardware loggers. There will be significant collaboration with hardware designers to understand, improve, and document hardware/software interfaces. Candidates must be knowledgeable and comfortable working across both hardware and software domains.
Minimum Qualifications
Bachelors degree in Electrical Engineering (EE), Computer Engineering (CE), or related field. 5+ years of experience developing embedded firmware or kernel-mode drivers. Fluency in data structures and algorithms commonly used in an RTOS, implemented in C/C++ and assembly. Solid understanding of embedded system components such as CPUs, memory hierarchies, DMA, timers, interrupt control units, and interconnect buses. Deep knowledge of real-time operating system (RTOS) concepts such as thread/process scheduling and synchronization, exception handling, virtual memory management and inter-process communication.
Preferred Qualifications
Experience with low-level hardware components (Memory, DMA, Timer, GPIOs, UART, SPI, I2C, etc.). Experience using Python as a support language for test automation, data analysis, and tool development to aid firmware validation and regression testing. Experience with pre-silicon bringup and validation on FPGA and emulation platforms. Experience with cycle-accurate modeling and performance analysis.
Learn more about this Employer on their Career Site
