K

KLA

Makes chip inspection and measurement equipment

Embedded Software Engineer - C/C++, Microcontroller

Embedded EngineeringConfirmed live in the last 24 hours
Full-timeMilpitas, CA, USA$136.3k - $231.7k /yrIn-person

About the Job

Requirements

  • Strong experience developing firmware for ARM Cortex-R/M class processors in memory-constrained, real-time environments.
  • Experience with TI Jacinto or Sitara platforms is preferred.
  • Experience developing software for TI C66x and/or C7x digital signal processor architectures is preferred.
  • Strong experience with PCIe architecture, device drivers, and system integration is preferred.
  • Experience with camera interfaces, image processing pipelines, sensor integration, industrial automation, or precision motion-control applications, including high-performance CCDs and photodiodes, is preferred.
  • Experience using LabVIEW, Python, and MATLAB is preferred.
  • Experience with object-oriented design and C/C++ development is preferred.
  • Hands-on knowledge of machine and motion-control systems is preferred.
  • Experience developing software for high-speed network data transfer using protocols such as InfiniBand or RoCE, including data-path configuration and routing across complex network topologies, is preferred.
  • Experience developing signal-processing applications, including FFT/DFT-based algorithms, is preferred.
  • Proficiency in embedded Linux development, including BSP customization, device drivers, kernel debugging, bootloader integration, system bring-up, and performance optimization.
  • Hands-on experience with the Yocto Project for BSP integration, package management, Linux distribution creation, and build system customization.
  • Good understanding of embedded peripherals and interfaces, including SPI, I2C, UART/serial, GPIO, and Ethernet.
  • Strong programming skills in C/C++ for embedded systems development.
  • Experience with FPGA interfacing and inter-board communication.
  • Ability to read electronic schematics and use basic electronic instruments, such as digital multimeters and oscilloscopes.
  • Experience with RTOS environments such as FreeRTOS, TI-RTOS, or equivalent platforms.
  • Experience developing software on ARM-based SoCs and multicore embedded systems.
  • Strong debugging, problem-solving, and system integration skills.
  • Excellent written and verbal communication skills.
  • Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical discipline with 5+ years of relevant experience; or an advanced degree with 2+ years of relevant experience.

Responsibilities

  • Develop embedded firmware and software in C/C++ for heterogeneous SoC platforms, including ARM application processors, ARM real-time cores, and TI C66x/C7x DSPs, across Linux and RTOS environments.
  • Design and implement software for precision motion control, machine automation, camera configuration and image acquisition, sensor data acquisition, and real-time signal processing.
  • Analyze system-level requirements and architect, design, develop, and debug low-level software for complex hardware subsystems.
  • Develop and maintain Board Support Packages (BSPs), device drivers, bootloader configurations, and platform software for embedded Linux systems.
  • Perform hardware bring-up, system integration, performance tuning, and root-cause analysis across processors, peripherals, networking interfaces, imaging subsystems, and control systems.
  • Collaborate with Electrical, FPGA, Mechanical, Systems, and Product Engineering teams across global locations, including the United States, India, and Singapore.
  • Develop diagnostic, configuration, and validation tools in C++ and Python on Windows platforms to support engineering development, manufacturing, and field troubleshooting.
  • Enhance and maintain existing firmware and software architectures to improve subsystem control, diagnostics, reliability, performance, and scalability.
  • Work directly with customers, suppliers, and technology partners, as needed, to support system integration, issue resolution, and product deployment.

Desired Qualifications

  • Experience with TI Jacinto or Sitara platforms.
  • Experience developing software for TI C66x and/or C7x digital signal processor architectures.
  • Strong experience with PCIe architecture, device drivers, and system integration.
  • Experience with camera interfaces, image processing pipelines, sensor integration, industrial automation, or precision motion-control applications, including high-performance CCDs and photodiodes.
  • Experience using LabVIEW, Python, and MATLAB.
  • Experience with object-oriented design and C/C++ development.
  • Hands-on knowledge of machine and motion-control systems.
  • Experience developing software for high-speed network data transfer using protocols such as InfiniBand or RoCE, including data-path configuration and routing across complex network topologies.
  • Experience developing signal-processing applications, including FFT/DFT-based algorithms.

About the Company

KLA

Makes chip inspection and measurement equipment

KLA makes equipment and software that help semiconductor and electronics manufacturers find defects, measure tiny features and improve production yields. Its process control systems inspect wafers and analyze manufacturing data so engineers can identify problems before they spread through a production run. The product portfolio supports chip fabrication, packaging and printed circuit boards, with tools that check materials and finished components throughout manufacturing. KLA earns revenue from equipment sales and related service contracts, including maintenance that keeps customers' installed tools operating reliably. Formed through a merger in 1997, KLA is headquartered in Milpitas, California.

Company size
10,001+
Company stage
IPO
Headquarters
Milpitas, CA
Founded
1997

Recently Posted Jobs

Explore more opportunities at KLA

See more jobs