Requirement – Embedded C++ BSP Developer
Mandatory Skills
-
Embedded C++ Development
-
BSP (Board Support Package) Development
-
Embedded Linux
-
Device Driver Development
-
C Programming
-
Linux Kernel Fundamentals
-
ARM-based Processors / SoCs
-
Bootloader (U-Boot) Development & Customization
-
Hardware Bring-up
-
Communication Protocols – SPI, I2C, UART, CAN, Ethernet
-
Debugging using JTAG, GDB, Logic Analyzer, Oscilloscope
Job Description
We are looking for an Embedded C++ BSP Developer with 3-6 years of experience in Embedded Linux and Board Support Package (BSP) development. The candidate will be responsible for developing, porting, customizing, and maintaining BSP components for embedded platforms and supporting hardware bring-up activities.
Key Responsibilities
-
Develop and maintain Embedded C/C++ software for Linux-based embedded systems.
-
Design, customize, and integrate Board Support Packages (BSPs) for ARM-based platforms.
-
Perform hardware bring-up and board-level debugging for new products.
-
Develop and enhance Linux device drivers for peripherals and custom hardware.
-
Work on Linux Kernel configuration, customization, and optimization.
-
Port Embedded Linux to new hardware platforms.
-
Customize and maintain bootloaders such as U-Boot.
-
Interface with hardware teams to resolve board-level issues.
-
Develop software for communication interfaces such as SPI, I2C, UART, CAN, USB, and Ethernet.
-
Analyze system performance and optimize memory, boot time, and CPU utilization.
-
Prepare technical documentation, design specifications, and test reports.
-
Participate in code reviews and ensure compliance with development standards.
Required Technical Skills
-
Strong programming expertise in C and Embedded C++.
-
Hands-on experience in BSP development and Linux device driver development.
-
Good understanding of Linux Kernel architecture and kernel modules.
-
Experience with ARM Cortex-A / Cortex-M processors.
-
Knowledge of bootloaders (U-Boot), Linux Kernel build systems, and Yocto Build Environment.
-
Experience with hardware debugging tools and techniques.
-
Good understanding of RTOS concepts and embedded system architecture.
-
Experience in communication protocols:
-
SPI
-
I2C
-
UART
-
CAN
-
Ethernet
-
USB
Preferred Skills
-
Experience with Yocto, Buildroot, or OpenEmbedded.
-
Knowledge of Secure Boot and Embedded Security concepts.
-
Experience with Automotive or Industrial Embedded products.
-
Exposure to CI/CD environments for embedded development.
-
Familiarity with Git, Jira, and Agile development methodologies.
Soft Skills
-
Strong analytical and troubleshooting skills.
-
Excellent communication and documentation skills.
-
Ability to work independently and within cross-functional teams.
-
Strong ownership and customer-focused attitude.