The posting
嵌入式软件与端侧系统开发 - 负责数采端侧设备的嵌入式软件设计、开发、调试与维护。 - 基于 C/C++ 开发运行于 Linux、MCU 或 SoC 平台上的系统软件和设备应用。 - 参与设备启动、配置管理、状态管理、故障处理、日志记录及系统诊断等基础能力建设。 - 根据产品需求设计稳定、可扩展的软件模块和接口,持续提升代码质量、可测试性和可维护性。 硬件接口与设备通信 - 负责传感器、执行器、控制板、计算单元及第三方设备的通信接口开发。 - 处理 UART、SPI、I²C、CAN/CAN-FD、USB、Ethernet 等常见硬件接口和通信协议。 - 参与设备协议定义、驱动适配、数据解析及通信链路优化。 - 分析和解决设备掉线、数据异常、时序错误、通信阻塞等问题。 - 参与硬件方案设计、器件选型、接口定义和基础原理图评审,完成样机 bring-up、板级调试和硬件问题闭环,具备将产品需求转化为硬件实现方案的能力。 端侧设备软硬件协同 - 参与 EgoPortal 系列及端侧设备平台的系统集成与功能开发。 - 负责嵌入式软件、硬件设备与端侧数据采集服务之间的接口衔接。 - 配合完成传感器、计算平台、控制器及外围设备的整机联调;能够独立开展上电检查、接口验证、信号测量和异常定位。 - 分析系统级问题,定位问题边界并推动软硬件协同解决。 - 参与端侧设备在不同硬件平台和产品形态上的适配与复用。 系统稳定性与性能优化 - 负责端侧软件在长期运行场景下的稳定性保障。 - 处理异常重启、内存泄漏、资源耗尽、线程阻塞、数据丢失等系统问题。 - 针对 CPU、内存、磁盘 I/O、网络带宽及设备响应时间进行分析和优化。 - 设计看门狗、心跳检测、异常恢复、断点续传及故障降级等机制。 - 建立完善的日志、监控和诊断能力,提升现场问题定位效率。 工程化交付与现场支持 - 参与嵌入式软件的编译、打包、部署、升级和版本管理。 - 配合建立面向不同 ARM、x86 或 MCU 平台的构建与发布流程。 - 参与 OTA、设备配置管理及端侧版本升级能力建设。 - 编写技术文档、接口文档、测试用例和问题排查手册。 - 支持样机验证、现场部署和设备联调,及时响应并闭环工程问题。
1. 扎实的嵌入式开发基础:本科及以上学历,计算机、电子信息、自动化、通信、控制工程等相关专业;具备 3 年左右嵌入式软件或相关系统开发经验。 2. 熟悉 C/C++ 与系统编程:理解内存管理、指针、并发编程、线程同步、进程间通信等基础知识;具备良好的代码规范和工程习惯。 3. 具备 Linux 嵌入式开发经验:熟悉 Linux 系统开发,了解进程、线程、文件系统、Socket、设备节点等机制,能够完成端侧设备应用开发与问题定位。 4. 理解常见硬件接口和通信协议:熟悉 UART、SPI、I²C、CAN/CAN-FD、USB、Ethernet 等一种或多种接口协议,能够独立完成设备通信和问题定位。 5. 具备基本硬件研发与软硬件联调能力:能够阅读数据手册、接口文档、原理图和 PCB 基础资料,参与器件选型、接口定义、原理图评审及样机调试;具备硬件 bring-up 和板级调试能力,能够完成上电检查、电源轨测量、时钟与复位信号检查、通信接口验证及常见硬件故障定位;熟练使用示波器、逻辑分析仪、万用表等工具,具备基本焊接、返修和样机问题处理能力。 6. 具备系统问题分析能力:熟悉 GDB、Git 等开发工具,能够通过日志、抓包、性能分析和现场复现定位系统问题。 7. 具备良好的跨团队协作能力:能够与算法、软件、电路、结构、测试及产品团队高效沟通,主动推动问题解决和项目交付。
如果你还会…… 1. 有工业设备、智能硬件、端侧采集设备或复杂嵌入式产品开发经验。 2. 熟悉 ARM、Jetson、RK、NXP、STM32、ESP32 等平台中的一种或多种;有硬件 bring-up、板级调试、样机验证或硬件问题定位经验。 3. 熟悉 U-Boot、Linux Driver、Device Tree、Yocto、Buildroot 等技术,有驱动开发或系统移植经验。 4. 有 OTA、远程诊断、设备批量部署、版本管理或机器人集群运维经验。 5. 熟悉单元测试、接口测试、硬件在环测试或持续集成流程。 6. 熟悉 Python 自动化工具开发,或有 Rust 系统级开发经验。



