- 地点
- 圣罗莎,美国
- 工作方式
- 混合办公
- 类型
- 全职
- 部门
- 研发
- 编号
- 52515
职责
- 为高性能测试和测量系统构建、设计、实现和维护复杂的嵌入式固件。
- 使用 C 和 C++ 开发固件,目标平台为微控制器和 SoC 平台上的裸机和基于 RTOS 的环境。
- 设计和实现 FPGA、ADC、DAC、RF 组件和定制 ASIC 的硬件抽象层(HAL)、板级支持包(BSP)和底层设备驱动程序。
- 根据需要,使用 VHDL 或 Verilog 开发和优化 FPGA 逻辑和固件接口。
- 实现满足严格时序和延迟要求的实时控制算法和信号处理程序。
- 在 PCB 调试、特性分析和验证阶段与硬件工程师紧密合作。
- 制定并执行固件测试计划;编写并维护自动化回归测试套件。
- 使用示波器、逻辑分析仪、JTAG 和协议分析仪(I2C、SPI、UART、PCIe、USB)进行硬件调试实践。
- 定义并验证固件与 DSP、FPGA 和主机软件层的接口。
- 主导固件架构讨论和设计评审;向同事和初级工程师提供清晰、可操作的反馈。
- 为团队制定和推广固件开发标准、编码规范和文档规范做出贡献。
- 参与跨部门项目审查、风险识别和缓解计划制定。
- 编写高质量、易于维护、文档齐全的固件代码;保持全面的单元测试和集成测试覆盖率。
- 调查、找出根本原因并解决复杂的固件缺陷;管理从初步评估到最终解决的整个缺陷处理流程。
- 参与敏捷/Scrum 仪式:迭代计划会议、站会、产品待办事项梳理会议和回顾会议。
- 根据需要为产品持续工程和现场升级问题解决提供支持。
必备要求
- 电气工程、计算机工程或相关技术学科的学士或硕士学位。
- 8年以上嵌入式固件开发经验,包括高频射频、混合信号或精密模拟仪器方面的工作经验。
- 在已交付产品的固件架构决策方面,拥有领导或做出重大贡献的良好记录。
- 精通 C 语言;熟练掌握用于嵌入式系统的 C++ 和 Python。
- 具备 FPGA 固件开发和硬件-固件协同设计经验(Xilinx/AMD、Intel/Altera);熟悉 VHDL 或 Verilog 语言。
- 熟悉 CMake、Jenkins CI/CD 流水线和自动化固件测试框架。
- 具备微控制器和/或 SoC 架构(ARM Cortex-M/A、RISC-V 或类似架构)的实际操作经验。
- 具备丰富的底层外设驱动程序(I2C、SPI、UART、USB、PCIe、以太网)编写和调试经验。
- 熟练使用嵌入式调试工具:JTAG/SWD 调试器、逻辑分析仪、示波器。
- 具备足够的射频和模拟电子学知识,能够与硬件设计工程师有效协作。
- 具备 Linux 内核驱动程序或基于 Yocto 的嵌入式 Linux BSP 开发经验。
- 熟悉 DSP 基础知识——快速傅里叶变换、滤波、校准算法——并将其应用于测量固件。
- 熟悉电子测试测量仪器架构(矢量网络分析仪、信号发生器);熟悉仪器控制标准:VISA、SCPI。
- 熟悉版本控制(Git)和协作开发工作流程。
- 熟悉正式的代码审查流程、静态分析工具和安全意识强的编码实践。
- 熟悉 Atlassian 套件:Jira、Confluence、Bitbucket。
优先条件
- 熟悉使用人工智能工具进行代码生成和审查。
Responsibilities
- Build, design, implement, and maintain complex embedded firmware for high-performance test and measurement systems.
- Develop firmware in C and C++ targeting bare-metal and RTOS-based environments on microcontroller and SoC platforms.
- Design and implement hardware abstraction layers (HAL), board support packages (BSP), and low-level device drivers for FPGAs, ADCs, DACs, RF components, and custom ASICs.
- Develop and optimize FPGA logic and firmware interfaces using VHDL or Verilog as needed.
- Implement real-time control algorithms and signal processing routines meeting strict timing and latency requirements.
- Collaborate closely with hardware engineers during PCB bring-up, characterization, and validation.
- Develop and execute firmware test plans; write and maintain automated regression test suites.
- Perform hardware debugging using oscilloscopes, logic analyzers, JTAG, and protocol analyzers (I2C, SPI, UART, PCIe, USB).
- Define and validate firmware interfaces with DSP, FPGA, and host software layers.
- Lead firmware architecture discussions and design reviews; provide clear, actionable feedback to peers and junior engineers.
- Contribute to defining and promoting firmware development standards, coding guidelines, and documentation practices for the team.
- Participate in cross-functional project reviews, risk identification, and mitigation planning.
- Write high-quality, maintainable, well-documented firmware code; maintain comprehensive unit and integration test coverage.
- Investigate, root-cause, and resolve complex firmware defects; manage the defect process from initial assessment to final resolution.
- Participate in Agile/Scrum ceremonies: sprint planning, stand-ups, backlog grooming, and retrospectives.
- Support product sustaining engineering and field upgrade issue resolution as needed.
Must Have
- Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, or a related technical discipline.
- 8+ years of experience in embedded firmware development, including work with high-frequency RF, mixed-signal, or precision analog instrumentation.
- Proven track record of leading or making significant contributions to firmware architecture decisions for delivered products.
- Proficiency in C; strong skills in C++ and Python for embedded systems.
- Experience with FPGA firmware development and hardware-firmware co-design (Xilinx/AMD, Intel/Altera); familiarity with VHDL or Verilog.
- Familiarity with CMake, Jenkins CI/CD pipelines, and automated firmware test frameworks.
- Hands-on experience with microcontroller and/or SoC architectures (ARM Cortex-M/A, RISC-V, or similar).
- Extensive experience writing and debugging low-level peripheral drivers (I2C, SPI, UART, USB, PCIe, Ethernet).
- Proficiency with embedded debugging tools: JTAG/SWD debuggers, logic analyzers, oscilloscopes.
- Sufficient knowledge of RF and analog electronics to collaborate effectively with hardware design engineers.
- Experience with Linux kernel drivers or Yocto-based embedded Linux BSP development.
- Familiarity with DSP fundamentals—FFT, filtering, calibration algorithms—and their application to measurement firmware.
- Familiarity with electronic test and measurement instrument architectures (vector network analyzers, signal generators); knowledge of instrument control standards: VISA, SCPI.
- Familiarity with version control (Git) and collaborative development workflows.
- Familiarity with formal code review processes, static analysis tools, and security-conscious coding practices.
- Familiarity with Atlassian suite: Jira, Confluence, Bitbucket.
Preferred
- Familiarity with using AI tools for code generation and review.
公司简介
Keysight 处于技术创新的最前沿,在电子设计、仿真、原型制作、测试、制造和优化等领域不断取得突破,并提供可靠的解决方案。我们拥有 10,000 名员工,为 100 多个国家的客户在通信、5G、汽车、能源、量子计算、航空航天、国防和半导体等领域提供世界一流的解决方案。我们屡获殊荣的企业文化秉持着大胆的愿景,相信技术能够带我们走向新的境界。我们热衷于用开创性的解决方案来应对各种挑战性问题。我们认为,当人们感受到归属感时,他们就会更加富有创造力、创新能力更强,并且在职业生涯的各个环节都能取得优异的成绩。