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).(ref : hirist.tech)