一、 崗位職責(zé):
(1)驅(qū)動開發(fā)與設(shè)計(jì): 負(fù)責(zé)公司PXIe、PCIe接口的數(shù)據(jù)采集板卡等硬件產(chǎn)品在Windows和Linux操作系統(tǒng)下的驅(qū)動程序架構(gòu)設(shè)計(jì)、開發(fā)、調(diào)試與維護(hù)工作。
(2)內(nèi)核與底層交互: 開發(fā)內(nèi)核態(tài)(Kernel-Mode)驅(qū)動,實(shí)現(xiàn)與PCIe硬件的底層交互,包括PCIe配置空間訪問、DMA(直接內(nèi)存訪問)數(shù)據(jù)傳輸、中斷處理、內(nèi)存映射(MMIO)等核心功能。
(3)用戶接口開發(fā): 提供穩(wěn)定、高效的用戶態(tài)(User-Mode)API接口(如DLL、SO庫),供上層采集控制軟件調(diào)用,實(shí)現(xiàn)對硬件的便捷操作和數(shù)據(jù)流控制。
(4)性能優(yōu)化: 持續(xù)優(yōu)化驅(qū)動程序的性能和穩(wěn)定性,確保數(shù)據(jù)采集的高速、高吞吐量和低延遲,充分發(fā)揮硬件性能。
(5)技術(shù)文檔編寫: 編寫詳細(xì)的設(shè)計(jì)文檔、API接口文檔、用戶手冊(驅(qū)動部分)及測試報告。
(6)協(xié)同工作: 與硬件工程師、FPGA工程師、應(yīng)用軟件工程師緊密協(xié)作,參與硬件調(diào)試、問題定位與解決,提供底層技術(shù)支持。
二、 任職要求:
(1)學(xué)歷專業(yè): 計(jì)算機(jī)科學(xué)、電子工程、通信、自動化等相關(guān)專業(yè)本科及以上學(xué)歷。
(2)開發(fā)經(jīng)驗(yàn): 擁有3年以上C/C++ 語言開發(fā)經(jīng)驗(yàn),具備扎實(shí)的編程功底和良好的編程習(xí)慣。
(3)驅(qū)動開發(fā)經(jīng)驗(yàn): 至少具備以下一種操作系統(tǒng)的驅(qū)動開發(fā)經(jīng)驗(yàn):
Windows端: 精通WDF(KMDF/UMDF) 或 WDM 驅(qū)動模型,熟練使用Windows Driver Kit (WDK)、WinDbg等進(jìn)行開發(fā)調(diào)試。
Linux端: 精通Linux內(nèi)核驅(qū)動開發(fā)框架,如字符設(shè)備驅(qū)動,深刻理解設(shè)備樹(Device Tree)、中斷處理、內(nèi)核并發(fā)控制等。
硬件接口協(xié)議: 深刻理解PCIe 協(xié)議體系,有實(shí)際的PCIe設(shè)備驅(qū)動開發(fā)或調(diào)試經(jīng)驗(yàn)者優(yōu)先。
硬件基礎(chǔ): 了解數(shù)字電路基礎(chǔ),能閱讀硬件原理圖和芯片數(shù)據(jù)手冊(Datasheet),能與硬件工程師順暢溝通。
調(diào)試能力: 強(qiáng)大的問題分析和調(diào)試能力,能熟練使用邏輯分析儀、示波器等工具配合驅(qū)動進(jìn)行聯(lián)合調(diào)試。
個人素質(zhì): 具備優(yōu)秀的團(tuán)隊(duì)協(xié)作精神、責(zé)任心和主動性。
優(yōu)先考慮:
有數(shù)據(jù)采集(DAQ)、儀器儀表、工業(yè)控制等領(lǐng)域產(chǎn)品驅(qū)動開發(fā)經(jīng)驗(yàn)者優(yōu)先考慮。
有PXI/PXIe 系統(tǒng)平臺開發(fā)經(jīng)驗(yàn)者優(yōu)先考慮。