HamburgerMenu
hirist

Senior Embedded Software Engineer - Low-Level Systems

Nasugroup
Bangalore
5 - 8 Years

Posted on: 08/10/2025

Job Description

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).


info-icon

Did you find something suspicious?