Hexagon AB
Hexagon AB
Hexagon AB 开发用于工业和基础设施应用的测量、定位、传感器、数字孪生、空间智能和自主机器人技术。其解决方案融合高精度传感器和扫描仪、三维现实捕捉、仿真平台、人工智能驱动的分析、运动控制和机器人技术,为精准规划、检测、自动化及自主运营提供支持。公司服务于建筑与基础设施、制造业、工厂自动化、航空航天与空间系统、能源以及科研等领域的客户。

高级嵌入式软件工程师——加拿大远程

为 Hexagon Mining 的数字化采矿和车辆控制技术开发安全关键型 ECU 固件。 设计、测试并调试可投入生产的嵌入式系统。

描述

  • 为安全相关的车辆控制 ECU 创建、调试和维护嵌入式 C 与 C++ 固件
  • 根据明确的需求开发固件,并完成验证后发布
  • 使用 CAN 2.0A/B、J1939、高层 CAN 协议和串行链路构建并维护车辆通信
  • 开发数字量和模拟量输入、PWM 及比例输出的 I/O 与执行机构软件,包括信号调理、缩放、校准和合理性检查
  • 通过看门狗、监控器、故障分类和安全状态转换实现诊断、故障检测及故障安全运行
  • 协助将生产固件平台迁移至当前硬件并实现现代化
  • 根据分解且可追溯的需求进行开发,同时维护双向追溯关系
  • 创建并维护设计文档、接口规范和验证记录
  • 开展并参与设计和代码同行评审
  • 创建并维护自动化嵌入式单元测试、集成测试和硬件在环测试
  • 增强嵌入式构建、静态分析、自动化测试、版本控制和发布打包的 CI/CD 流水线
  • 使用基于 Linux 的协处理器和服务支持数据记录、连接、远程诊断和可观测性
  • 支持台架、车辆及现场调试,并调查集成测试问题
  • 与硬件和电气工程师、系统架构师、功能安全专家、应用软件团队及产品管理团队协作

任职要求

  • 拥有电气或电子工程、计算机工程、机电一体化、计算机科学或相关专业的学士或硕士学位,或具备经证明的同等经验
  • 至少 10 年专业嵌入式软件开发经验
  • 至少 2 年在 32 位微控制器上进行生产固件开发的经验
  • 精通嵌入式 C,并具备良好的 C++ 实际应用能力
  • 具备定点编程、资源受限编程以及禁止动态内存分配的代码库开发经验
  • 具备裸机或 RTOS 开发经验,包括中断处理、优先级设计、调度、周期任务、时序与延迟分析以及多核系统开发
  • 能够解读硬件原理图、MCU 数据手册和参考手册,以配置外设、驱动程序和 I/O
  • 具备使用 CAN 2.0A/B 和 J1939 或同类高层协议的实践经验
  • 具备定义和维护报文集及信号数据库的经验
  • 具备使用标准 CAN 工具分析总线并排查故障的经验
  • 具备使用调试探针、示波器、逻辑分析仪和总线记录仪的实践经验
  • 具备按照 MISRA 等强制性编码标准工作并使用静态分析工具的经验
  • 熟悉 Linux 开发环境、Git 工作流、代码评审和 CI/CD 流水线
  • 具备 TCP/IP 网络和基于 Arm 处理器的嵌入式 Linux 设备云连接经验
  • 优先考虑:具备多核汽车级微控制器和通过商业安全认证的 ECU 平台经验
  • 优先考虑:具备容器化构建环境和自托管 CI 运行器经验
  • 优先考虑:具备维护 Yocto 或 Buildroot BSP 及层、以及配置内核和设备树的经验
  • 优先考虑:具备使用需求管理工具和 Jira、Confluence 或同类平台的经验
  • 优先考虑:具备编写正式、可追溯需求和接口控制文档的经验
  • 优先考虑:具备使用 Python 和 Shell 脚本进行测试自动化、工具开发和数据分析的经验
  • 能够提交简历和求职信

福利待遇

  • 全职远程工作
  • 预计出差不超过 10%
  • 提供成长和持续学习机会
  • 多元且平等机会的工作环境