清微智能
NPU驱动与固件开发工程师
岗位职责
1. 参与NPU驱动与固件接口设计,明确命令、参数、共享内存、完成通知、错误状态及版本配套,与Runtime对接执行流程。
2. 驱动方向负责Linux NPU设备初始化、资源映射、用户态访问及必要ioctl/mmap接口,实现并发控制和退出回收。
3. 驱动方向负责DMA映射、设备访存权限、Cache一致性、中断及同步处理,排查内核异常、挂死与资源泄漏。
4. 固件方向负责NPU设备侧初始化、命令接收与处理、执行状态和完成通知,维护中断、异常及约定的恢复流程。
5. 固件方向维护固件构建、链接与内存布局、产物和版本信息,定位设备执行、协议状态与访存问题。
6. 共同实现日志、异常现场和底层计时信息,完成仿真、FPGA及芯片联调,验证正常、并发、超时、取消及复位恢复。
7. 交付接口、自测及调试文档,配合外部CPU/Linux/BSP团队确认配套环境和联调条件,支持SDK集成。
任职要求
1. 计算机、电子或相关专业本科及以上学历,3年及以上底层软件开发经验,在Linux驱动或处理器、加速器固件至少一个方向有独立研发经历。
2. 熟练掌握C/C++、寄存器与内存操作,理解中断、同步、Cache、DMA及内存可见性。
3. 驱动方向熟悉Linux驱动模型、ioctl/mmap、DMA和内核调试;固件方向熟悉ARM或RISC-V启动、链接布局、异常及中断处理,满足所应聘方向即可。
4. 理解Host与设备命令交互和共享内存,能够分析参数检查、状态转换、时序与并发竞态,具备另一侧接口阅读和联合调试能力。
5. 能够阅读芯片与接口资料,利用日志、寄存器、反汇编及适用调试工具定位底层问题,验证失败后的资源与状态恢复。
6. 具备可复现构建、版本配套和自动化测试能力,能够参与FPGA或芯片验证并输出调试记录。
加分项
1. 有NPU/GPU/DSP驱动或设备侧固件项目经验。
2. 有驱动与固件跨侧开发、加速器命令协议或共享内存通信经验。
3. 有芯片Bring-up、JTAG调试、故障恢复或数据搬运性能优化经验。
信息来自企业官方招聘渠道
OfferSeek 对公开岗位信息进行聚合、去重和结构化整理,最终申请以企业官方页面为准。