Logo
eTeam

Senior Software Embedded Engineer Senior Software Embedded Engineer

eTeam, Palo Alto, California, United States, 94306


Job: Senior Software Embedded Engineer Duration: 6 Months Location: 607 Hansen Way, Palo Alto California 94304

JOB DESCRIPTION Schedule: M-F (9-6 with flex depending on business needs)

This role is 100% on site

Role Summary In this position within the Autonomy Hardware team, you will develop test software and use them to validate the automotive SoC solutions, build up validation and benchmark software framework to identify gaps and risks at component and module level. You will be collaborating with other cross functional teams in gathering all the test requirements, implementing test sequences and data collection in software, and running test software on the target hardware platform to acquire test results.

Requirements and Responsibility

Have a deep understanding of embedded system components and bus protocols (e.g., AMBA), and its boot up sequences. Familiar with JTAG-based debuggers to halt and resume processors, set breakpoints, and debug at both the transaction and process levels. Analyze and debug complex applications involving multiple threads, Memory Management Units (MMUs), interrupts, and inter-process communication (IPC) mechanisms. Toolchain Proficiency: Utilize GCC toolchains and GDB for effective development and debugging of embedded software. Driver Debugging: Investigate and resolve issues related to low-speed IO drivers (e.g. UART, GPIO, SPI, I2C), ensuring they function correctly within the system. Familiar with one of the following IO protocols and has experience to bring-up and debug such interface and their drivers: Gigabit Ethernet, PCIe, CPHY, MPHY Device Tree and Bootloaders: Work with device trees, U-Boot, and operating systems to manage hardware configurations and ensure proper system initialization. Experience w/ secure boot process, and its bring-up and debug process. Coding and Development: Write, review, and maintain high-quality C code, ensuring adherence to best practices in embedded software development.