职位描述
岗位职责:
1,聚焦于SoC芯片的底层软件、系统驱动及软硬件协同优化,需深度参与芯片级到系统级的软件开发。其核心职责:
1)SoC底层软件(如 Bootloader开发)与BSP开发,移植/开发SoC外设驱动(GPIO、I2C、SPI、USB等),确保硬件功能正常调用。优化驱动性能(如DMA传输效率、中断延迟)。
2)操作系统移植与优化,内核移植和系统裁剪与优化, 为Linux/RTOS(如FreeRTOS、Zephyr)适配SoC/MPU/MCU架构(如ARM Cortex-A/R核调度、内存管理)。
3)高速外设与接口驱动开发,确保协议栈稳定性。复杂接口驱动开发,如实现PCIe/NVMe、MIPI CSI/DSI、USB3.0/4等高速接口驱动,确保数据传输稳定性,调试协议栈问题,异构计算支持,为NPU/GPU加速核开发底层库(如OpenCL内核驱动、TensorRT插件)。
4) 软硬件协同调试与性能优化,硬件问题定位,配合硬件团队分析SoC相关故障(如电源噪声导致CPU死机、信号完整性影响数据传输);通过JTAG/SWD调试器抓取芯片寄存器状态,定位硬件-软件边界问题; 性能优化,优化内存带宽利用率(如DDR调度策略)、降低延迟(如中断响应时间)。
5)安全与可靠性保障,安全启动与加密,功能安全,如内存ECC校验、看门狗监控。
6)工具链与开发环境构建
2,应用层功能实现
- 业务逻辑开发,实现产品功能代码/优化实时性或功耗
- 中间件集成,移植第三方库(如LwIP协议栈、FatFS文件系统),解决内存冲突或性能瓶颈
3,软硬件协同调试
- 硬件问题定位,配合硬件工程师分析电路问题(如通过逻辑分析仪抓取SPI信号异常);编写测试固件验证硬件功能(如EEPROM读写寿命测试)。
- 低层优化,优化内存使用(减少动态分配)、规避硬件缺陷(如Errata手册中的芯片BUG)。
4,测试与可靠性保障,单元测试,编写测试用例,覆盖边界条件(如高低温下的ADC采样精度)。EMC/EMI兼容性, 配合测试团队解决软件导致的辐射超标。长期稳定性,设计看门狗机制、内存泄漏检测方案。
5,文档与标准化,技术文档,输出驱动API文档、测试报告、FMEA分析。代码规范。国产化替代移植,
6,嵌入式固件(.bin/.hex文件)及烧录工具链,驱动库与接口文档,自动化测试脚本。
任职条件资格:
1,学历与专业:本科及以上(硕士优先,尤其是工业、通讯、汽车、AIoT等领域),计算机、电子、通信等相关专业。
2,技术能力:
1)核心能力,精通C/C++,熟悉汇编(ARM/RISC-V),掌握指针、内存管理、位操作等底层概念。理解计算机体系结构(缓存一致性、多核调度、总线协议),计算机组成原理(中断机制、DMA、缓存一致性)。
2)SoC软件开发经验,操作系统层至少有Linux/RTOS/Android之一内核移植经验(如裁剪内核、编写设备树、调试启动流程); 驱动开发,独立开发过SoC外设驱动(如I2C/SPI/USB),或复杂接口驱动(PCIe/MIPI/DDR控制器);能阅读芯片手册(TRM),配置寄存器、调试时序问题;调试能力,熟练使用JTAG/Lauterbach调试器、逻辑分析仪定位硬件关联问题(如死机、数据丢包)。
3)工具与协议,工具链熟悉交叉编译(如ARM GCC)、构建系统;行业协议,掌握至少一种高速协议栈(如USB PD、PCIe协议层)。
4)具备以下者优先,
AI硬件,参与过NPU/GPU驱动开发(如英伟达CUDA驱动、华为昇腾AI栈);
熟悉异构计算框架(OpenCL、TensorRT插件开发),Rockchip/高通/联发科等之一的平台经验(如Android HAL层优化);
内存优化、代码体积压缩;
异构系统,参与过MCU+MPU异构开发(如STM32H7+Linux双核通信)。
3,项目经验
- 3年以上嵌入式开发经验,至少1个SoC相关项目全程深度参与(从BSP到量产)。
- 有实际解决复杂问题的案例(如优化DDR带宽利用率、降低中断延迟、解决通信丢包)。
- 参与需求交流,根据需求文档,进行可行性分析和设计开发。
- 熟悉Rockchip、全志、STM32、NXP i.MX、TI Sitara等平台优先;
4,其他:
- 英语能力:能阅读英文版芯片手册(Datasheet)等资料,良好的英文理解能力。
- 为人诚信,工作踏实,具有团队合作精神、客户服务意识;具有亲和力和好的人际交流沟通能力;能适应较快工作节奏;
以担保或任何理由索取财物,扣押证照,均涉嫌违法,请提高警惕