Posted on: 08/10/2025
Description :
We are seeking a highly skilled Embedded Software Engineer with extensive experience in low-level embedded systems development, including device drivers, Board Support Packages (BSP), and hardware bring-up. The ideal candidate will be proficient in C/C++, with deep knowledge of embedded architectures and peripheral interfaces for modern SoCs.
Must Skill : C/C++, Linux/RTOS, BSP/Device driver/Bootloader/HAL
Key Responsibilities :
- Design, develop, and debug low-level embedded software components, including device drivers, BSPs, and bootloaders.
- Perform board bring-up activities for custom hardware platforms based on ARM (64-bit), Intel, or PowerPC architectures.
- Work closely with hardware teams to integrate software with processor, memory, and peripheral components.
- Develop and maintain software interfaces for peripherals, controllers, and system services on complex SoCs.
- Create and optimize Hardware Abstraction Layers (HAL) to enable platform portability.
- Debug hardware/software integration issues using oscilloscopes, logic analyzers, JTAG, and software tools (GDB, etc.).
- Program and interface with embedded peripherals such as UART, SPI, I2C, Timers, MMU, Interrupts, DMA, PWM, ADC/DAC, EEPROM, Watchdog, RTC, and more.
- Understand and work with processor-level components such as PIC, GIC, and various on-chip bus architectures (Nexus Bus, Simple Bus, Memory Controllers, etc.).
- Contribute to the architecture and design of embedded platforms, ensuring scalability, maintainability, and performance.
- Collaborate in cross-functional teams, including hardware, firmware, and systems engineers.
- Document system design, coding standards, and best practices.
Required Qualifications & Skills :
- B.Tech / M.Tech in Computer Science, Electrical/Computer Engineering, or a related technical field.
- 5-8 years of experience in embedded systems development, especially low-level software components.
- Strong hands-on experience in C/C++ for embedded systems.
- Deep understanding of embedded system architecture, including CPU, MMU, cache, interrupts, and buses.
- Practical knowledge of ARM 64-bit or Intel architectures with experience in assembly programming.
- Strong experience in working with device drivers, bootloaders, and Board Support Packages.
- Proficient in debugging low-level software and troubleshooting system issues with hardware-level tools.
- Familiarity with embedded hypervisors and virtualization mechanisms.
- Experience working with embedded peripherals and controllers.
- Understanding of SoC internals and board-level hardware design aspects.
Nice to Have (Preferred) :
- Experience with any RTOS (e.g., QNX, VxWorks, FreeRTOS, Embedded Linux).
- Exposure to secure boot, bootloaders, and trusted execution environments.
- Familiarity with version control systems (e.g., Git) and continuous integration practices.
- Knowledge of industry-standard safety/security standards (e.g., ISO 26262, ASIL, MISRA).
Did you find something suspicious?
Posted By
Posted in
Semiconductor/VLSI/EDA
Functional Area
Embedded / Kernel Development
Job Code
1557408
Interview Questions for you
View All