旧塩港電氣工業製造社 主页旧塩港電氣工業製造社 主页

嵌入式软件工程师(C/C++ 微控制器)

Embedded Software Engineer (C/C++ Micro Controller)

科磊(KLA)

地点
米尔皮塔斯,美国
类型
全职
发布
2026-08-11
部门
Surfscan
编号
2639413

半导体半导体设备

职责

  • 使用 C/C++ 为异构 SoC 平台(包括 ARM 应用处理器、ARM 实时内核和 TI C66x/C7x DSP)开发嵌入式固件和软件,支持 Linux 和 RTOS 环境。
  • 设计和实现用于精密运动控制、机器自动化、相机配置和图像采集、传感器数据采集和实时信号处理的软件。
  • 分析系统级需求,并为复杂的硬件子系统构建、设计、开发和调试底层软件。
  • 开发和维护嵌入式 Linux 系统的板级支持包(BSP)、设备驱动程序、引导加载程序配置和平台软件。
  • 对处理器、外围设备、网络接口、成像子系统和控制系统进行硬件启动、系统集成、性能调优和根本原因分析。
  • 与遍布全球各地的电气、FPGA、机械、系统和产品工程团队密切合作,包括美国、印度和新加坡。
  • 在 Windows 平台上使用 C++ 和 Python 开发诊断、配置和验证工具,以支持工程开发、制造和现场故障排除。
  • 增强和维护现有固件和软件架构,以提高子系统控制、诊断、可靠性、性能和可扩展性。
  • 根据需要直接与客户、供应商和技术合作伙伴合作,以支持系统集成、问题解决和产品部署。

必备要求

  • 精通嵌入式 Linux 开发,包括 BSP 定制、设备驱动程序、内核调试、引导加载程序集成、系统启动和性能优化。
  • 具备 Yocto 项目的实际操作经验,包括 BSP 集成、软件包管理、Linux 发行版创建和构建系统定制。
  • 精通嵌入式外设和接口,包括 SPI、I2C、UART/串口、GPIO 和以太网。
  • 具备扎实的 C/C++ 编程技能,能够胜任嵌入式系统开发工作。
  • 具备 FPGA 接口和板间通信经验。
  • 能够读懂电子原理图并使用基本的电子仪器,例如数字万用表和示波器。
  • 熟悉 FreeRTOS、TI-RTOS 或同等平台等实时操作系统环境。
  • 具有在基于 ARM 的 SoC 和多核嵌入式系统上开发软件的经验。
  • 具备较强的调试、问题解决和系统集成能力。
  • 优秀的书面和口头沟通能力。
  • 计算机科学、计算机工程、电气工程或相关技术学科的学士学位,并具有 5 年以上相关经验;或具有高级学位,并具有 2 年以上相关经验。

优先条件

  • 拥有在内存受限的实时环境下为 ARM Cortex-R/M 类处理器开发固件的丰富经验。
  • 熟悉 TI Jacinto 或 Sitara 平台。
  • 具有为 TI C66x 和/或 C7x DSP 架构开发软件的经验。
  • 在 PCIe 架构、设备驱动程序和系统集成方面拥有丰富的经验。
  • 具备相机接口、图像处理流程、传感器集成、工业自动化或精密运动控制应用方面的经验,包括高性能 CCD 和光电二极管。
  • 具备使用 LabVIEW、Python 和 MATLAB 的经验。
  • 具备面向对象设计和 C/C++ 开发经验。
  • 具备机器人和运动控制系统的实际操作知识。
  • 具备使用 InfiniBand 或 RoCE 等协议开发高速网络数据传输软件的经验,包括跨复杂网络拓扑的数据路径配置和路由。
  • 具备开发信号处理应用程序的经验,包括基于 FFT/DFT 的算法。

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, supporting 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 build, 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 for processors, peripherals, network interfaces, imaging subsystems, and control systems.
  • Collaborate closely with electrical, FPGA, mechanical, systems, and product engineering teams across the globe, including the US, India, and Singapore.
  • Develop diagnostic, configuration, and validation tools in C++ and Python on Windows 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, problem resolution, and product deployment.

Must Have

  • Expertise in embedded Linux development, including BSP customization, device drivers, kernel debugging, bootloader integration, system boot, and performance optimization.
  • Hands-on experience with the Yocto Project, including BSP integration, package management, Linux distribution creation, and build system customization.
  • Proficiency in embedded peripherals and interfaces, including SPI, I2C, UART/serial, GPIO, and Ethernet.
  • Strong C/C++ programming skills for embedded systems development.
  • Experience with FPGA interfaces and board-to-board communication.
  • Ability to read electronic schematics and use basic electronic instruments such as digital multimeters and oscilloscopes.
  • Familiarity with real-time operating system 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.

Preferred

  • Extensive experience developing firmware for ARM Cortex-R/M class processors in memory-constrained real-time environments.
  • Familiarity with TI Jacinto or Sitara platforms.
  • Experience developing software for TI C66x and/or C7x DSP 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 with LabVIEW, Python, and MATLAB.
  • Experience with object-oriented design and C/C++ development.
  • Hands-on knowledge of robotics and motion control systems.
  • Experience developing high-speed network data transfer software 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.

公司简介

KLA 是半导体制造生态系统中多元化电子产品的全球领导者。世界上几乎所有电子设备都运用了我们的技术。如果没有我们,笔记本电脑、智能手机、可穿戴设备、语音控制设备、柔性屏、VR 设备或智能汽车都无法来到您手中。KLA 致力于晶圆和光罩、集成电路、封装、印刷电路板和平面显示器的制造,并提供相应的系统和解决方案。推动人类进步的创新理念和设备都源于灵感、研究和开发。KLA 比一般公司更注重创新,并将销售额的 15% 投入研发。我们由物理学家、工程师、数据科学家和问题解决专家组成的专家团队与世界领先的技术供应商携手合作,加速未来电子设备的交付。凭借超过 40 年的半导体工艺控制经验,全球芯片制造商信赖 KLA,确保其晶圆厂能够快速、经济高效地将下一代器件投入量产。KLA 全球产品集团(GPG)负责 KLA 所有计量和检测产品的研发。KLA 中央工程部是 KLA 最大的工程部门,由 9 个卓越中心(CoE)组成,涵盖公司所有产品组的各个领域,包括搬运与自动化、精密运动控制、传感器与图像采集、平台设计与封装工程等。KLA 在全球以色列、中国、印度和美国设有多个中心,拥有超过 500 名工程师。