Board Support Package and Linux Driver Developer [BSP and Linux Driver Developer]
تفاصيل الوظيفة
Role Description: Board Support Package and Linux Driver Developer [BSP and Linux Driver Developer] Purpose: Responsible for developing and maintaining Linux kernel BSP and device drivers. The BSP and Linux Driver Developer will work closely with the System Architect and other team members to support the overall objectives of the Software team. Areas Of Responsibility: Board Support Package (BSP) Development:
- Develop and maintain BSPs for various hardware platforms.
- Customize and optimize Linux kernel and bootloader for specific hardware.
- Ensure seamless integration of hardware components with the operating system.
- Board Bring up :
- Initial Setup : Perform the initial hardware setup and bring up of new boards.
- Hardware Debugging : Identify and resolve hardware issues during the bring up process.
- Boot loader Development/Configuration : Develop, Build and debug boot loader – firmware to ensure proper hardware initialization
- Design, develop, and maintain Linux drivers for various hardware modules including GPIOs, PMIC, I2C, Bluetooth, Touchscreen, UART, Memory/Flash, Wi-Fi, USB, Display, Camera, Audio, SPI, Modem, Sensors, Battery Charging, and SD Card.
- Ensure high performance, reliability, and security of drivers.
- Debug and resolve issues related to hardware and driver interactions.
- Integrate drivers with the Linux kernel and ensure compatibility with different hardware platforms.
- Conduct thorough testing of drivers, including unit tests, integration tests, and system tests.
- Automate testing processes to ensure high-quality releases.
- Collaborate with cross-functional teams including hardware engineers, software developers, and QA teams to define requirements and deliver solutions.
- Document design specifications, development processes, and troubleshooting guides.
- Stay updated with the latest trends and technologies in Linux kernel development and hardware integration.
- Participate in code reviews and provide constructive feedback.
- Continuously discover, evaluate, and implement new technologies to maximize development efficiency.
- 5-10 years of experience in BSP and Linux driver development.
- Proven experience with developing and integrating drivers for various hardware modules.
- Experience with Agile project management and issue tracking using tools such as JIRA.
- Bachelor’s or master’s degree in Electronics/Electrical Engineering, or a related field.
- Strong knowledge of Linux kernel architecture and driver development.
- Familiarity with hardware interfaces and protocols such as I2C, SPI, UART, USB, and Wifi/Modem/Bluetooth.
- Experience with debugging tools and techniques for hardware and software issues.
- Knowledge of open-source development practices and tools.
- Proficiency in C/C++ programming.
- Experience with Linux kernel development and customization.
- Knowledge of hardware abstraction layers and low-level programming.
- Familiarity with version control systems such as Git.
- Experience with continuous integration/continuous deployment (CI/CD) tools.
- Understanding of hardware schematics and datasheets.
- Experience with ARM Cortex architecture.
- Usage of In Circuit Debugger via JTAG interface
- Strong communication and teamwork skills.
- Ability to adapt to a fast-paced and dynamic business environment.
- Detail-oriented with a focus on quality and accuracy.
- Proactive and self-motivated with a results-oriented mindset.
- Bachelor’s or master’s degree in Electronics/Electrical Engineering
Apply safely
To stay safe in your job search, information on common scams and to get free expert advice, we recommend that you visit SAFERjobs, a non-profit, joint industry and law enforcement organization working to combat job scams.