39.0000° N, 98.0000° W

← Back

LaserLink

嵌入式软件工程师

Hangzhou
DisciplineSoftware Engineering
Workplace typeunspecified
EmploymentFull Time
ExperienceNot specified
Salary$15–$35k
ClearanceNo Clearance Required
Apply

岗位职责
1\. 基于 ST/TI/Xilinx Zynq 等嵌入式平台开发嵌入式软件,用于主控、伺服系统、通信板卡等产品;
2\. 基于不同平台开发 UART/I2C/SPI/CAN/DMA/Timer 等常见外设兼容层驱动;
3\. Threadx/FreeRTOS/VxWorks 等 RTOS 操作系统和其他中间件的应用和移植;
4\. 产品间遥控遥测协议设计与实现、与 FPGA 间并口通信方式的设计与实现;
5\. bootloader / OTA 升级、伺服控制、健康监控、遥控遥测等具体业务逻辑的实现;
6\. 使用 gitlab 和 svn 的工作流开发项目
7\. 代码重构、解耦等代码优化工作
8\. 撰写嵌入式软件完整项目方案

任职要求
一、基础开发能力
1\. 硕士及以上学历,电子、通信、自动化、计算机、软件工程等相关专业。
2\. 具有以下至少一种嵌入式平台的开发经验:ST(STM32系列)、ESP(ESP32/ESP8266)、TI(Tiva/C2000/MSP430)、NXP(LPC/i.MX/Kinetis) 或其他主流Cortex-M/A系列平台。
3\. 熟练掌握嵌入式C语言编程,具备良好的代码风格与防御性编程意识,了解汇编语言基础者优先。
4\. 深入理解嵌入式系统基础外设工作原理,能独立完成I2C、SPI、UART等接口的驱动编写、时序调优与异常诊断。
5\. 熟悉以太网(Ethernet)、USB、CAN等通信外设的基本协议栈或驱动框架,具备至少一种通信外设的实际项目开发经验(如LWIP、USB库、CANopen等)。

二、开发工具与环境
1\. 熟练使用以下IDE中的至少两种:Keil MDK、IAR EWARM、STM32CubeIDE、Code Composer Studio(CSS)、VSCode(搭配嵌入式插件)。
2\. 熟悉基于Git的版本控制流程,理解Git Flow/GitHub Flow等分支管理模型,能解决基本冲突与合并操作。

三、操作系统与系统软件
1\. 具备至少一种RTOS(如FreeRTOS、uCOS、ThreadX、RT-Thread、VxWorks)的移植与项目开发经验,熟悉任务优先级设计、信号量/队列/事件组等IPC机制、中断服务程序与任务间的数据同步策略。
2\. 或具备嵌入式Linux开发经验,包括但不限于U-Boot移植、Linux内核裁剪、设备树配置、根文件系统构建、字符设备驱动编写,或应用层多进程/多线程编程。

四、加分项(满足任意一条即可优先考虑)
1\. 熟悉Makefile或CMake构建系统,能独立编写与维护工程构建脚本。
2\. 了解Bootloader启动流程(如U-Boot、MCU自举程序),有OTA(Over-The-Air) 固件升级方案设计或实现经验。
3\. 熟悉GCC/Clang/ARMCC等编译工具链,理解编译/链接过程(链接脚本、内存映射、符号表等)。
4\. 具备Zynq PS端嵌入式Linux开发经验,熟悉PS与PL的交互方式(如AXI总线访问、中断共享、DMA传输等)。
5\. 具备OpenOCD与GDB的调试环境使用经验,能进行命令行级调试、远程调试或自动化测试。
6\. 具备基础的Python脚本编写能力,能用于自动化构建、数据解析、测试脚本开发或工具链辅助。

五、软性素质
具备扎实的硬件基础,能读懂原理图和芯片数据手册,能配合硬件工程师进行信号级问题排查。
良好的逻辑思维能力与问题定位能力,能独立完成从现象到根因的分析闭环。
1\. 善于团队协作与知识分享,具备良好的技术文档写作习惯。

Skills and experience

master’s degreeelectronicscommunicationsautomationcomputer sciencesoftware engineeringSTSTM32ESP32ESP8266TITivaC2000MSP430NXPLPCi.MXKinetisCortex-MCortex-Aembedded CI2CSPIUARTEthernetUSBCANLWIPUSB librariesCANopenKeil MDKIAR EWARMSTM32CubeIDECode Composer StudioVSCodeGitGit FlowGitHub FlowRTOSFreeRTOSuCOSThreadXRT-ThreadVxWorkstask priority designsemaphoresqueuesevent groupsIPCinterrupt service routinestask synchronizationembedded LinuxU-BootLinux kernel configurationdevice treeroot filesystemcharacter device driversmulti-process programmingmultithreaded programmingschematicschip datasheetshardware debuggingtechnical documentationteamwork