BSP (Board Support Package) Engineer
Job description
Responsibilities
- Development: Design, develop and integrate kernel drivers and HAL on Android and Linux for Qualcomm and Nvidia camera platforms.
- Bringing up new camera platforms, doing schematic review and working with the hardware team on PCB design.
- Analyze and fix driver-level issues including hardware debugging.
- Sensor Fusion: Optimize audio, sensor, and video performance, precision, and synchronization.
- Security: Conduct security assessments to identify and fix potential vulnerabilities.
- Integration: Work with cross-functional teams to integrate camera applications and 3rd party devices on new camera platforms.
Experience and Qualifications
- Experience: 5+ years of embedded Linux development experience.
- 2+ years developing Linux BSPs for camera, IoT, and/or telephony devices.
- Android camera HAL development and integration.
- Experience in hardware troubleshooting using signal analyzers and DSOs.
Qualifications
- Thorough computer science knowledge, including:
- Concurrent and parallel programming and system software development.
- Data communication, TCP/IP, and socket programming in C/C++.
- Computer security and cryptography.
- Software engineering.
Skills
- Demonstrated expertise in:
- Linux-based operating systems for embedded applications.
- C/C++, Bash, Python, and scripting languages.
- System software development on ARM and x86 CPU architectures.
- Crypto API of the Linux kernel e.g., IPsec or dm-crypt.
- Reading hardware schematics, datasheets and PCB diagrams.
- Various hardware Interfaces, e.g., CAN, HDMI, I2C, MIPI-CSI, SPI, USB.
- Root cause analysis and problem solving.
- Security assessments and certifications.