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