岗位要求: 1、熟练掌握 C、C++ 编程语言是必备技能,部分岗位还要求熟悉 Python、Shell 脚本等编程语言; 2、熟悉嵌入式 Linux 开发,包括内核裁剪、驱动开发、文件系统构建等,掌握 Yocto/Buildroot 等工具的使用;了解 RTOS(如 FreeRTOS、Zephyr、uCOS、rt-thread 等)或轻量级嵌入式操作系统的开发; 3、精通模拟电路、数字电路设计,能够进行原理图设计、PCB 布局;熟悉常见的微控制器,如 STM32 系列、ARM Cortex-M 系列等,掌握其架构、编程模型、外设接口等;了解常见的传感器、执行器等硬件设备的工作原理和应用BOSS直聘; 4、熟悉 SPI、I2C、UART、CAN、Ethernet、MQTT、modbus、104 等常见通信协议,能够进行通信接口的开发和调试; 5、熟练使用嵌入式开发工具链,如 Keil、IAR、GCC 等;熟悉万用表、示波器、逻辑分析仪等软硬件开发调试工具; 6、大专以上学历,电子工程、计算机科学、自动化、电气工程及其自动化、测控技术与仪器、信息工程、电子信息科学与技术等相关专业优先。工作职责: 1、硬件设计与开发:依据项目需求,进行嵌入式硬件系统的架构设计与详细电路设计,涵盖处理器选型、外围电路设计、接口电路设计等工作,例如设计一款智能家居控制终端的硬件电路,需选择合适的微控制器,并设计电源电路、传感器接口电路等 。利用专业的电子设计自动化(EDA)工具,完成原理图绘制、PCB 布局布线,保证硬件系统的电气性能与可靠性。对制作完成的硬件电路板进行调试与测试,检查电路是否正常工作,排除硬件故障,确保硬件系统满足设计要求,并进行相关性能指标测试。 2、软件开发与编程:基于硬件平台,进行嵌入式操作系统的移植与定制工作,根据项目需求对操作系统内核进行裁剪、配置与优化,例如将 Linux 操作系统移植到自主设计的硬件平台上,并根据应用场景定制文件系统 。采用 C、C++ 等编程语言,进行嵌入式应用程序的开发与实现,根据项目需求设计应用程序的架构与功能模块,实现与硬件设备的交互控制、数据处理与传输等功能,如开发一款智能手环的应用程序,实现运动数据采集、心率监测等功能。对开发完成的嵌入式软件进行调试与测试,利用调试工具对软件进行单步调试、断点调试,排查软件中的逻辑错误、语法错误与运行时错误,同时进行软件功能测试、性能测试、兼容性测试等,确保软件满足设计要求与质量标准。 3、软硬件协同开发与调试:负责嵌入式系统中硬件与软件之间的接口设计与开发工作,定义硬件与软件之间的数据交互格式、通信协议与控制信号,确保硬件与软件之间能够准确、高效地进行数据传输与交互控制。在硬件和软件分别开发完成后,进行软硬件协同调试工作,利用逻辑分析仪、示波器等工具对硬件与软件之间的通信信号、数据传输进行监测与分析,排查硬件与软件之间的兼容性问题、通信故障与数据错误,确保整个嵌入式系统能够稳定、可靠地运行。根据软硬件协同调试过程中发现的问题,对硬件设计与软件程序进行优化与改进工作,从硬件电路布局、软件算法优化、数据处理流程等方面入手,提高嵌入式系统的性能、稳定性与可靠性,满足项目的实际应用需求。