岗位职责:
1、负责嵌入式基础平台的方案设计与实现,包括BSP(板级支持包)开发、BootLoader(如U-Boot)移植与定制、Linux/RTOS内核裁剪与移植,确保硬件功能在软件层面的完整适配与稳定运行。
2、基于硬件调试需求,编写底层测试工具(如寄存器读写工具、外设功能验证程序),协助硬件团队定位硬件故障(如信号完整性、时序问题),推动跨软硬件的联合调试。
3、开发、移植和优化核心外设驱动,包括但不限于GPIO、UART、SPI、I2C、ADC、DAC、PCIe、Ethernet、存储控制器(NAND/NOR Flash、eMMC)等,解决驱动与硬件交互中的兼容性、稳定性问题。
4、编写底层软件相关技术文档,包括设计方案、驱动开发手册、调试指南、版本更新记录等,确保开发过程可追溯、可复用。为上层应用开发团队提供底层接口(如API、设备节点)支持,协助解决应用开发中的底层依赖问题,参与跨团队技术方案评审。
5、动态跟踪嵌入式领域新技术(如新型处理器架构、实时操作系统、硬件加速技术),推动技术预研与平台升级。
6、与硬件设计调试团队紧密协作,从底层软件角度提供硬件设计建议(如外设接口选型、中断分配、内存映射等),共同定义跨硬件-软件的协同开发流程。
任职资格:
学历:本科及以上学历。
专业:电子信息工程、计算机科学与技术、自动化、微电子等相关专业。
工作经验:
1、有飞腾(Phytium)系列(如E2000/D2000/S5000C)、Xilinx ZYNQ系列(如Zynq-7000、UltraScale+ MPSoC)、华为海思(Hi35xx系列)、昇腾(Ascend)系列(如Ascend 310B/P)芯片底层开发经验者优先。
2、具备独立负责嵌入式底层开发平台从0到1搭建的完整经验的优先。
3、熟悉ARM(Cortex-A/R系列)或RISC-V架构,深入理解嵌入式系统启动流程(BootROM→BootLoader→内核→用户态),掌握内存管理(MMU)、中断控制器(GIC)、DMA等硬件模块的软件适配。
4、熟悉Linux内核原理及驱动开发框架,具备独立编写/移植字符设备、块设备、网络设备驱动的经验;熟悉U-Boot配置与定制(如环境变量管理、多阶段启动),能独立完成内核裁剪、根文件系统构建。
5、能读懂硬件原理图,理解外设时序与信号规范,具备使用JTAG调试器(如J-Link)、示波器、逻辑分析仪定位软硬件交互问题的能力(如寄存器配置错误、时序不匹配)。
6、具备极强的跨团队协作能力,能与硬件工程师高效沟通,推动软硬件协同问题的闭环解决。
7、具备较强的问题分析与攻坚能力,面对底层复杂问题(如启动失败、死锁、内存泄漏)能快速定位根因。
8、具备良好的代码规范意识和文档编写能力,能输出清晰的设计文档与调试报告。