Logo
Zobility

Software Embedded Engineer

Zobility, Palo Alto, California, United States, 94306


Job Description

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 Responsibilities

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 with 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.

#J-18808-Ljbffr