The Platform Team is looking for a talented embedded software engineer to help with pre-silicon simulation, early silicon support and development of the boot firmware and software.
We are looking for detail oriented engineers with exceptional problem solving skills and a passion for quality.
- You will play a central role in building the support for early system development during the pre-silicon and early silicon phases, including involvement in specification review for hardware platforms, work in system simulation technologies, boot firmware, low level device drivers, and new system bring up.
- Work closely with internal and external teams to enable firmware development long before first hardware availability. Design and implement software and firmware, and perform system level debug of hardware, silicon, and software.
- The successful candidate should be comfortable working on a large spectrum of issues ranging from hardware/silicon issues to overall system operation, performance and power management.
BS or MS in Computer Engineering or Computer Science or equivalent experience/skills
- Experience with common embedded SOC architectures x86 bring-up/validation experience is a huge plus
- Knowledge of high speed interfaces (e.g., PCIe, memory)
- Knowledge of CPU and device power management OS kernel/userland experience (including threading and memory management)
- Ability to understand board schematics Familiarity with UEFI is a plus
- A working knowledge of various scripting languages: Perl*,Python*, Bash Shell* and Make is a plus.
- Working knowledge of processor architecture & micro-architecture (ARM preferred)
- Solid experience in hands-on development and troubleshooting of boot-loaders, mask ROM on embedded targets
- Solid programming experience in C or C++. Understanding of ARM assembly is a plus.
- Previous experience writing embedded device drivers
- Previous experience with platform bring-up or porting of operating systems
- Previous exposure to hardware and processor simulation and emulation environments
- Understanding of clock trees, bus/fabric interconnects, and advanced peripherals such as PCIe, USB
- Understanding of on-chip debug and trace facilities. Exposure to hardware logic analyzers, oscilloscopes is a plus.
- Demonstrated creative, critical thinking and troubleshooting skills
- Highly professional, with the ability to deliver solid work on tight schedules
- Excellent collaborative skills especially with silicon design, validation and board design engineers.
- Outstanding written and verbal communication