Responsibilities:
Contribute to the architecture, design, and implementation of the complete display and touch software stack for automotive IVI systems.
Drive low-level display bring-up activities, including display controller configuration, timing, panel integration, and optimization for various display technologies (e.g., LCD, OLED). Develop and integrate touch panel drivers and middleware, including support for various touch technologies (capacitive, resistive), gesture recognition, calibration, and noise filtering.
Work extensively within a hypervisor environment, specifically managing the interactions between Linux/Android for display and touch functionalities.
Design and implement display management features such as backlight control, resolution switching, multi-display support, and fault monitoring.
Optimize display performance, focusing on frame rate, color accuracy, power consumption, and latency reduction to meet stringent automotive standards.
Develop and debug embedded software in C/C++ for real-time operating systems (RTOS) like Linux and Android Automotive OS.
Collaborate closely with hardware engineers, UI/UX designers, system architects, and software development teams to ensure cohesive and integrated solutions.
Perform system-level debugging and troubleshooting of complex issues across the display, touch, and hypervisor layers using various tools (e.g., gdb, JTAG, oscilloscopes, logic analyzers).
Ensure software compliance with automotive safety standards (e.g., ISO 26262) and EMC requirements.
Stay abreast of emerging display and touch technologies, industry trends, and virtualization advancements, proposing innovative solutions to enhance product performance and user experience.
Contribute to software architecture design, code reviews, and comprehensive documentation of designs, integration processes, and testing procedures.
Basic Qualifications:
Bachelor's or master's degree in electrical engineering, Computer Engineering, Computer Science, or a related field.
8+ years of experience in embedded software development, with a significant focus on display and touch systems.
Proven expertise in C/C++ programming for embedded platforms.
In-depth knowledge of embedded display interfaces (e.g., MIPI DSI, DisplayPort, LVDS, HDMI) and graphics APIs (e.g., OpenGL ES, Vulkan).
Strong experience with Linux kernel development, including device drivers (DRM/KMS) and input subsystems.
Hands-on experience with virtualization technologies, and a clear understanding of priviliged and user domain interactions.
Familiarity with Android display and input frameworks.
Experience with embedded system debugging tools and methodologies.
Demonstrated ability to analyze and problem-solve complex technical issues quickly and effectively.
Preferred Qualifications:
Experience in the automotive industry, particularly with in-vehicle infotainment (IVI) systems.
Knowledge of automotive communication protocols (e.g., CAN, Ethernet).
Experience with advanced display technologies such as OLED and mini-LED, and touch controller protocols (e.g., I2C, SPI).
Familiarity with Yocto/OpenEmbedded build systems.
Understanding of GPU acceleration technologies for infotainment applications.
Experience with automotive safety standards (e.g., ISO 26262) and cybersecurity frameworks.
Ability to lead technical discussions and mentor junior engineers.