About the role
What you'll do • Design and implement real-time applications on ARM processors interfacing with multiple sensors in C/ C++. • Participate in the team's software processes, including requirements and design documentation, test-plan generation and execution, peer design and code reviews, process feedback and improvements • Debug complicated issues as they arise during product development
What you have • 5 + years of experience in developing C/ C++ multi-threaded applications, ideally for Embedded Linux targeting multiple ARM cores • Experience in low level driver development in embedded systems • Experience developing firmware for hardware on Embedded Linux • Experience with one or more of the following: Microcontrollers, SoC, device drivers, hardware bringup, power management, performance optimization or hardware/software integration, RTOS • Experience with the processor architecture • Experience working with communication protocols like I2C, SPI, UART • Knowledge of electronics principles, including reading schematics and using logic analyzers, oscilloscope, and other test equipment. • Experience in performance tuning, debugging tools, tests and release management
Nice-to-haves • Experience working with high-speed interfaces like ADC, MIPI, PCIE • Experience with Xilinx, Zync, SOC family or equivalent • Experience debugging FPGA hardware via lab equipment • Experience with scripting languages: Python, shell scripts • Ability to analyze datasets using Python, Matlab, or equivalent tools to identify issues and improve our core technology • Experience in profiling and benchmarking
Text as published by Aeva, Inc.. We don't edit postings; apply and ask questions on the employer's site.