一、 岗位职责:
(1)驱动开发与设计: 负责公司PXIe、PCIe接口的数据采集板卡等硬件产品在Windows和Linux操作系统下的驱动程序架构设计、开发、调试与维护工作。
(2)内核与底层交互: 开发内核态(Kernel-Mode)驱动,实现与PCIe硬件的底层交互,包括PCIe配置空间访问、DMA(直接内存访问)数据传输、中断处理、内存映射(MMIO)等核心功能。
(3)用户接口开发: 提供稳定、高效的用户态(User-Mode)API接口(如DLL、SO库),供上层采集控制软件调用,实现对硬件的便捷操作和数据流控制。
(4)性能优化: 持续优化驱动程序的性能和稳定性,确保数据采集的高速、高吞吐量和低延迟,充分发挥硬件性能。
(5)技术文档编写: 编写详细的设计文档、API接口文档、用户手册(驱动部分)及测试报告。
(6)协同工作: 与硬件工程师、FPGA工程师、应用软件工程师紧密协作,参与硬件调试、问题定位与解决,提供底层技术支持。
二、 任职要求:
(1)学历专业: 计算机科学、电子工程、通信、自动化等相关专业本科及以上学历。
(2)开发经验: 拥有3年以上C/C++ 语言开发经验,具备扎实的编程功底和良好的编程习惯。
(3)驱动开发经验: 至少具备以下一种操作系统的驱动开发经验:
Windows端: 精通WDF(KMDF/UMDF) 或 WDM 驱动模型,熟练使用Windows Driver Kit (WDK)、WinDbg等进行开发调试。
Linux端: 精通Linux内核驱动开发框架,如字符设备驱动,深刻理解设备树(Device Tree)、中断处理、内核并发控制等。
硬件接口协议: 深刻理解PCIe 协议体系,有实际的PCIe设备驱动开发或调试经验者优先。
硬件基础: 了解数字电路基础,能阅读硬件原理图和芯片数据手册(Datasheet),能与硬件工程师顺畅沟通。
调试能力: 强大的问题分析和调试能力,能熟练使用逻辑分析仪、示波器等工具配合驱动进行联合调试。
个人素质: 具备优秀的团队协作精神、责任心和主动性。
优先考虑:
有数据采集(DAQ)、仪器仪表、工业控制等领域产品驱动开发经验者优先考虑。
有PXI/PXIe 系统平台开发经验者优先考虑。