高级嵌入式软件工程师——加拿大远程
为 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%
- 提供成长和持续学习机会
- 多元且平等机会的工作环境
