Embedded C, Firmware, Low level Driver Development_2628

Tessolve 

📍 Bengaluru, Karnataka, India, India 🇮🇳

full-time
mid-level
Posted —

Key Skills

CRTOSPCIeNVMeZephyr

Industry

Consumer ElectronicsIndustrial Automation

Job Description

Job Summary

We are looking for an experienced Embedded Software Engineer with strong expertise in C programming, RTOS-based firmware development, and low-level driver development. The ideal candidate will have hands-on experience with PCIe and NVMe (Link Layer), board bring-up using Zephyr RTOS, and developing high-performance embedded software for next-generation hardware platforms.

Key Responsibilities

  • Design, develop, debug, and optimize embedded firmware using C programming.
  • Develop and maintain RTOS-based applications and platform software.
  • Design and implement low-level device drivers for embedded hardware (excluding UEFI development).
  • Work on PCIe and NVMe protocol implementation with a focus on the Link Layer.
  • Perform board bring-up activities using Zephyr RTOS.
  • Debug hardware/software integration issues using JTAG, oscilloscopes, logic analyzers, and protocol analyzers.
  • Collaborate with hardware, validation, and system engineering teams during product development.
  • Analyze system performance, identify bottlenecks, and optimize firmware.
  • Create technical documentation, design specifications, and test plans.
  • Participate in code reviews and ensure adherence to coding standards and best practices.

Required Skills

  • Strong programming expertise in C.
  • Solid experience with RTOS development.
  • Hands-on experience in low-level driver development (excluding UEFI).
  • Good understanding of embedded system architecture and hardware interfaces.
  • Experience with PCIe and NVMe, specifically the Link Layer.
  • Hands-on experience with Zephyr RTOS board bring-up.
  • Strong debugging and troubleshooting skills in embedded environments.
  • Familiarity with version control systems such as Git.

Preferred Qualifications

  • Bachelor's or Master's degree in Computer Science, Electronics, Electrical Engineering, or a related field.
  • Experience with ARM-based embedded platforms or other microcontroller/SoC architectures.
  • Knowledge of bootloaders, memory management, interrupt handling, and DMA.
  • Experience with embedded development tools and debugging utilities.
  • Familiarity with software development lifecycle and Agile methodologies.

Experience