Embedded Linux BSP Developer
What you'll do
- Design, develop, integrate, and maintain BSP software for ARM-based embedded platforms.
- Develop and debug low-level software components including bootloaders, secure boot features, Linux kernel components, QNX platform components, device trees, and board-level drivers.
- Support board bring-up activities, including boot debugging, hardware interface validation, driver integration, and low-level system troubleshooting.
- Develop and troubleshoot drivers for interfaces such as UART, I2C, SPI, CAN/CAN FD, Ethernet, USB, GPIO, eMMC, NAND, NOR, PMIC, and other platform peripherals.
- Work with embedded Linux build systems and platform tooling, including Yocto, OpenEmbedded, BitBake, Git-based workflows, Jenkins, Python, and shell scripting.
- Support secure boot and embedded security features, including image signing, hardware root of trust, fuse provisioning, key management, and update reliability.
- Investigate complex software and hardware issues using boot logs, kernel logs, crash dumps, JTAG, oscilloscopes, logic analyzers, and other debugging tools.
- Create and maintain software design documentation, participate in design reviews, and support product verification, validation, and release activities.
- Collaborate with hardware, software, systems, test, manufacturing, and production teams to resolve issues and deliver reliable embedded software across product generations.
What you'll need to get the job done
- Bachelor’s degree in Computer Science, Computer Engineering, Electrical/Computer Engineering, or a related technical discipline.
- 8+ years of professional embedded software development experience, including BSP and bootloader development for Linux, QNX, or similar embedded operating systems.
- Strong low-level C programming and debugging experience, with exposure to assembly language.
- Experience with ARM-based processors or SoCs, including ARM A-series, M-series, or similar embedded processor families.
- Hands-on experience completing board bring-up activities, including bootchain debugging, driver integration, and hardware/software validation.
- Experience developing or debugging device drivers, device trees, platform drivers, interrupt handling, memory mapping, file systems, power management, and hardware interfaces.
- Ability to read electronic schematics and use debugging tools such as JTAG, oscilloscopes, logic analyzers, and low-level software diagnostics.
- Experience with embedded Linux build systems such as Yocto, OpenEmbedded, or BitBake.
- Familiarity with version control and software delivery workflows using Git, GitHub, Jenkins, repo manifests, pull requests, or similar tools.
- Strong troubleshooting skills, with the ability to identify root cause and resolve issues across software, hardware, and system boundaries.
What will make us REALLY love you
- Experience designing or implementing custom bootloaders, secure boot flows, A/B boot mechanisms, OTA update reliability, or production software update systems.
- Familiarity with embedded security concepts such as SHE, HSM, TrustZone, hardware root of trust, image signing, key provisioning, and cryptographic algorithms such as RSA, AES, SHA, or DES.
- Experience with automotive embedded platforms, telematics control units, infotainment systems, connectivity modules, or other vehicle-connected software.
- Experience with automotive Ethernet, including 100BASE-T1, 1000BASE-T1, TC10 sleep/wake, Ethernet PHY integration, or related diagnostics.
- Experience with eMMC, NAND, NOR memory controllers, flash management, partition table design, dm-verity, SELinux, Fastboot, UEFI/EDK2, or similar platform technologies.
- Awareness of automotive software standards or practices such as ISO 26262, AUTOSAR concepts, or production release discipline.
- Experience debugging production or field issues using pstore, minidumps, kernel logs, crash dumps, field diagnostics, or manufacturing test tools.
- Experience using AI-assisted development tools to support code review, refactoring, driver integration, security analysis, test generation, or embedded software troubleshooting.
Related jobs
Are we your next great career match?
We are a global team of engineers present in eight countries and three continents. Together with our world-leading partners, we create tomorrow's technology in telecom, automotive, industrial, defence, and medtech.