崗位職責(zé):
硬件協(xié)同與基礎(chǔ)平臺構(gòu)建:
1、與硬件設(shè)計調(diào)試團隊緊密協(xié)作,參與硬件需求分析、原理圖評審及PCB布局優(yōu)化,從底層軟件角度提供硬件設(shè)計建議(如外設(shè)接口選型、中斷分配、內(nèi)存映射等),共同定義跨硬件-軟件的協(xié)同開發(fā)流程。
2、負(fù)責(zé)嵌入式基礎(chǔ)平臺的方案設(shè)計與實現(xiàn),包括BSP(板級支持包)開發(fā)、BootLoader(如U-Boot)移植與定制、Linux/RTOS內(nèi)核裁剪與移植,確保硬件功能在軟件層面的完整適配與穩(wěn)定運行。
底層驅(qū)動開發(fā)與調(diào)試:
3、開發(fā)、移植和優(yōu)化核心外設(shè)驅(qū)動,包括但不限于GPIO、UART、SPI、I2C、ADC、DAC、PCIe、Ethernet、存儲控制器(NAND/NOR
Flash、eMMC)等,解決驅(qū)動與硬件交互中的兼容性、穩(wěn)定性問題。
4、基于硬件調(diào)試需求,編寫底層測試工具(如寄存器讀寫工具、外設(shè)功能驗證程序),協(xié)助硬件團隊定位硬件故障(如信號完整性、時序問題),推動跨軟硬件的聯(lián)合調(diào)試。
平臺優(yōu)化與維護:
5、持續(xù)優(yōu)化基礎(chǔ)平臺的啟動速度、運行穩(wěn)定性、資源利用率(如CPU、內(nèi)存、功耗),參與系統(tǒng)功耗分析與低功耗策略制定,滿足嵌入式設(shè)備的嚴(yán)苛環(huán)境需求。
6、編寫底層軟件相關(guān)技術(shù)文檔,包括設(shè)計方案、驅(qū)動開發(fā)手冊、調(diào)試指南、版本更新記錄等,確保開發(fā)過程可追溯、可復(fù)用。
技術(shù)支持與團隊協(xié)作:.
7、為上層應(yīng)用開發(fā)團隊提供底層接口(如API、設(shè)備節(jié)點)支持,協(xié)助解決應(yīng)用開發(fā)中的底層依賴問題,參與跨團隊技術(shù)方案評審。
8、跟蹤嵌入式領(lǐng)域新技術(shù)(如新型處理器架構(gòu)、實時操作系統(tǒng)、硬件加速技術(shù)),推動技術(shù)預(yù)研與平臺升級。
任職要求:
學(xué)歷:本科及以上學(xué)歷
專業(yè):電子信息工程、計算機科學(xué)與技術(shù)、自動化、微電子等相關(guān)專業(yè)。
1、2年以上嵌入式底層軟件開發(fā)經(jīng)驗,具備獨立負(fù)責(zé)嵌入式平臺從0到1搭建的完整經(jīng)驗;
優(yōu)先考慮:有飛騰(Phytium)系列(如E2000/D2000/S5000C)、Xilinx ZYNQ系列(如Zynq-7000、UltraScale+ MPSoC)、華為海思(Hi35xx系列)、昇騰(Ascend)系列(如Ascend 310B/P) 芯片底層開發(fā)經(jīng)驗者(需提供具體項目案例說明)。
2、 架構(gòu)與系統(tǒng):熟悉ARM(Cortex-A/R系列)或RISC-V架構(gòu),深入理解嵌入式系統(tǒng)啟動流程(BootROM→BootLoader→內(nèi)核→用戶態(tài)),掌握內(nèi)存管理(MMU)、中斷控制器(GIC)、DMA等硬件模塊的軟件適配。
3、底層開發(fā):精通Linux內(nèi)核原理及驅(qū)動開發(fā)框架,具備獨立編寫/移植字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)設(shè)備驅(qū)動的經(jīng)驗;熟悉U-Boot配置與定制(如環(huán)境變量管理、多階段啟動),能獨立完成內(nèi)核裁剪、根文件系統(tǒng)構(gòu)建。
4、硬件交互:能讀懂硬件原理圖,理解外設(shè)時序與信號規(guī)范,具備使用JTAG調(diào)試器(如J-Link)、示波器、邏輯分析儀定位軟硬件交互問題的能力(如寄存器配置錯誤、時序不匹配)。
5、工具與語言:熟練掌握C/C++編程語言,具備匯編語言基礎(chǔ);熟悉Makefile、交叉編譯工具鏈(如GCC)、版本控制工具(Git/SVN),能獨立搭建開發(fā)環(huán)境。
6、具備極強的跨團隊協(xié)作能力,能與硬件工程師高效溝通,推動軟硬件協(xié)同問題的閉環(huán)解決;
7、具備較強的問題分析與攻堅能力,面對底層復(fù)雜問題(如啟動失敗、死鎖、內(nèi)存泄漏)能快速定位根因;
8、具備良好的代碼規(guī)范意識和文檔編寫能力,能輸出清晰的設(shè)計文檔與調(diào)試報告。