Jobs · Information Technology · California

Embedded Systems Software Engineer – Drivers & Platform Software

Cyient · California, United States · 4 wk ago
Information TechnologyFull-time

Key Responsibilities

  • Design, implement, and maintain device drivers for MCU/SoC peripherals such as GPIO, ADC, PWM, timers, DMA, UART, SPI, I2C, CAN, Ethernet, and watchdogs.
  • Develop and maintain BSPs, startup and boot code, linker scripts, memory maps, clock initialization, and hardware initialization sequences.
  • Integrate and configure real-time operating systems (e.g., FreeRTOS, SafeRTOS, or equivalent); develop OS abstraction layers, scheduling concepts, inter-task communication mechanisms, and timing services.
  • Design HAL and platform frameworks that enable reuse, scalability, and long-term maintainability across multiple hardware variants.
  • Lead new board bring-up; debug low-level issues using JTAG/SWD, logic analyzers, oscilloscopes, and trace tools.
  • Ensure deterministic interrupt handling, timing accuracy, memory efficiency, and adherence to real-time constraints.
  • Apply defensive programming techniques; implement diagnostics, fault detection, and health-monitoring mechanisms at the platform level.
  • Create and maintain driver APIs, platform design documentation, and low-level interface specifications.
  • Collaborate with avionics, controls, and systems engineering teams during integration, issue investigation, and root-cause analysis.
  • Contribute to requirements traceability, verification planning, configuration management, and certification readiness aligned with aerospace standards such as DO-178C and ARP4754A.

Required Qualifications

  • Bachelor’s degree in Electrical Engineering, Computer Engineering, Computer Science, or a related discipline.
  • 5–8 years of experience developing low-level embedded software for real-time systems.
  • Strong proficiency in embedded C/C++, with deep understanding of interrupts, memory management, and real-time behavior.
  • Hands-on experience developing device drivers, BSPs, and platform software for MCUs or SoCs.
  • Experience integrating and configuring RTOS platforms.
  • Strong understanding of MCU architectures, peripherals, clocks, reset logic, and memory subsystems.
  • Experience with hardware bring-up and debugging tools (JTAG/SWD, oscilloscopes, logic analyzers).
  • Familiarity with communication interfaces such as CAN, SPI, I2C, UART, and Ethernet.
  • Proven debugging, analytical, and system-level problem-solving skills.

Similar jobs