職位描述:
我們正在尋找一位經(jīng)驗(yàn)豐富的嵌入式Linux工程師,負(fù)責(zé)關(guān)鍵產(chǎn)品的底層軟件工作。您將專注于Linux設(shè)備驅(qū)動(dòng)的開發(fā)、調(diào)試、優(yōu)化以及整個(gè)嵌入式Linux系統(tǒng)的移植和定制工作,并能夠完成一些基礎(chǔ)的嵌入式應(yīng)用開發(fā)任務(wù)。您將與硬件工程師、應(yīng)用軟件工程師緊密合作,確保系統(tǒng)穩(wěn)定高效運(yùn)行。
崗位職責(zé):
1、嵌入式Linux設(shè)備驅(qū)動(dòng)開發(fā)與維護(hù):
①負(fù)責(zé)Linux內(nèi)核下各類外設(shè)驅(qū)動(dòng)(如I2C, SPI, UART, USB, Ethernet, GPIO, MMC/SD, LCD, Camera, Sensor等)的開發(fā)、調(diào)試、優(yōu)化與維護(hù);
② 理解和修改現(xiàn)有驅(qū)動(dòng)代碼,解決驅(qū)動(dòng)相關(guān)的復(fù)雜問(wèn)題;
③實(shí)現(xiàn)或適配特定硬件平臺(tái)(尤其是**Xilinx ZYNQ系列**或**Nvidia Jetson系列**)的定制驅(qū)動(dòng)。
2、嵌入式Linux系統(tǒng)移植與定制:
①負(fù)責(zé)將Linux內(nèi)核、Bootloader (如U-Boot) 移植到新的硬件平臺(tái)(ARM架構(gòu)為主);
② 定制和構(gòu)建Linux根文件系統(tǒng) (如Buildroot, Yocto Project, Debian/Ubuntu根文件系統(tǒng));
③進(jìn)行內(nèi)核配置、裁剪、優(yōu)化,提升系統(tǒng)啟動(dòng)速度和運(yùn)行效率;
④解決系統(tǒng)移植過(guò)程中的硬件兼容性、性能瓶頸及穩(wěn)定性問(wèn)題。
3、基礎(chǔ)嵌入式Linux應(yīng)用開發(fā):
①根據(jù)需求,開發(fā)簡(jiǎn)單的嵌入式Linux用戶空間應(yīng)用程序,用于硬件測(cè)試、功能驗(yàn)證或基礎(chǔ)服務(wù);
②編寫Shell腳本或Python腳本進(jìn)行自動(dòng)化測(cè)試、系統(tǒng)配置或簡(jiǎn)單任務(wù)處理。
4、硬件協(xié)同與調(diào)試
① 與硬件工程師緊密合作,參與硬件設(shè)計(jì)評(píng)審,提供軟件層面的建議;
②熟練使用示波器、邏輯分析儀、串口調(diào)試工具等進(jìn)行硬件級(jí)調(diào)試和問(wèn)題定位。
5、文檔編寫:
編寫清晰的技術(shù)文檔,包括設(shè)計(jì)文檔、調(diào)試記錄、API說(shuō)明等。
任職要求 :
1、計(jì)算機(jī)科學(xué)、電子工程、自動(dòng)化、通信工程或相關(guān)專業(yè)本科及以上學(xué)歷;
2、需要有3年及以上嵌入式Linux開發(fā)經(jīng)驗(yàn),至少1年專注于Linux驅(qū)動(dòng)開發(fā)和系統(tǒng)移植工作;
3、核心編程能力:
①精通C語(yǔ)言編程,熟悉Linux內(nèi)核編程規(guī)范;
②熟悉C++或Python (用于應(yīng)用/腳本開發(fā))。
4、Linux內(nèi)核與驅(qū)動(dòng)深入理解:
①深入理解Linux內(nèi)核機(jī)制(進(jìn)程/線程調(diào)度、內(nèi)存管理、中斷處理、同步機(jī)制等);
②精通Linux設(shè)備驅(qū)動(dòng)模型(字符設(shè)備、平臺(tái)設(shè)備、設(shè)備樹Device Tree等);
③具備獨(dú)立開發(fā)、調(diào)試和優(yōu)化復(fù)雜設(shè)備驅(qū)動(dòng)的能力。
5、系統(tǒng)移植能力:
① 熟練掌握Bootloader (U-Boot為主) 的配置、移植和定制;
②熟練掌握Linux內(nèi)核的配置、裁剪、交叉編譯、移植和優(yōu)化。
③ 熟練掌握至少一種根文件系統(tǒng)構(gòu)建工具(Buildroot, Yocto, OpenEmbedded, debootstrap等);
④ 熟悉交叉編譯工具鏈的使用和環(huán)境搭建。
6、嵌入式系統(tǒng)基礎(chǔ):
①扎實(shí)的計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ),熟悉ARM架構(gòu);
②了解常用硬件總線協(xié)議(I2C, SPI, UART, USB, MIPI, PCIe等);
③具備基本的硬件原理圖閱讀能力和寄存器操作能力。
7、基礎(chǔ)應(yīng)用開發(fā)能力:
①能夠使用C/C++或腳本語(yǔ)言(Shell/Python)開發(fā)簡(jiǎn)單的Linux用戶空間應(yīng)用程序;
②了解基本的Linux多進(jìn)程/多線程編程、網(wǎng)絡(luò)編程(Socket)。
8、調(diào)試能力:
① 熟練掌握GDB (包括KGDB/KDB)、JTAG等調(diào)試工具;
② 具備強(qiáng)大的問(wèn)題分析和解決復(fù)雜系統(tǒng)/驅(qū)動(dòng)問(wèn)題的能力。
9、工具與版本控制:
① 熟練使用Git進(jìn)行代碼版本管理;
② 熟悉Makefile/cmake等構(gòu)建工具。
10、軟技能:
① 良好的溝通能力和團(tuán)隊(duì)協(xié)作精神;
②積極主動(dòng),責(zé)任心強(qiáng),能夠承受一定的工作壓力;
③具備良好的英語(yǔ)讀寫能力,能閱讀英文技術(shù)文檔。
優(yōu)先考慮條件:
1、具有基于Xilinx ZYNQ-7000 / ZYNQ UltraScale+ MPSoC平臺(tái)的Linux驅(qū)動(dòng)開發(fā)或系統(tǒng)移植經(jīng)驗(yàn);
2、具有基于Nvidia Jetson系列平臺(tái) (如Jetson TX2, Xavier, Orin Nano/Orin NX/Orin AGX) 的Linux驅(qū)動(dòng)開發(fā)或系統(tǒng)移植經(jīng)驗(yàn);
3、熟悉實(shí)時(shí)操作系統(tǒng)(RTOS)概念或在Linux中實(shí)現(xiàn)實(shí)時(shí)性優(yōu)化;
4、有嵌入式Linux安全加固經(jīng)驗(yàn);
5、有參與開源項(xiàng)目或向Linux內(nèi)核提交補(bǔ)丁的經(jīng)驗(yàn);
6、 熟悉FPGA基本概念或與FPGA工程師協(xié)作的經(jīng)驗(yàn);
7、有嵌入式Linux應(yīng)用框架(如Qt)開發(fā)經(jīng)驗(yàn)。
進(jìn)一步了解寶威:
【一、行業(yè)賽道】
我們深耕國(guó)家重點(diǎn)布局的低空經(jīng)濟(jì)領(lǐng)域,核心產(chǎn)品為反無(wú)人機(jī)雷達(dá)。政策紅利持續(xù)傾斜,市場(chǎng)需求爆發(fā)式增長(zhǎng)。九三閱兵中,反無(wú)人機(jī)方隊(duì)首次亮相,國(guó)家戰(zhàn)略級(jí)領(lǐng)域,守護(hù)低空安全。
【二、產(chǎn)品及追求】
核心產(chǎn)品反無(wú)人機(jī)有源相控陣?yán)走_(dá),整機(jī)各模塊100%自主研發(fā),技術(shù)壁壘高,競(jìng)爭(zhēng)優(yōu)勢(shì)突出。產(chǎn)品在市場(chǎng)化過(guò)程中,已收獲客戶高度認(rèn)可及好評(píng)。
我們?cè)炖走_(dá),目標(biāo)是打造“理想中的雷達(dá)”,而非僅滿足“能完成交付”的基礎(chǔ)標(biāo)準(zhǔn),我們強(qiáng)調(diào)對(duì)技術(shù)極致與產(chǎn)品品質(zhì)的深度追求。
【三、成長(zhǎng)加速】
高壁壘意味著高挑戰(zhàn),對(duì)技術(shù)有更高追求的伙伴,能接觸行業(yè)前沿難題,有更大的成長(zhǎng)與發(fā)展空間。公司處于高速發(fā)展階段,優(yōu)秀伙伴有機(jī)會(huì)快速成長(zhǎng)為核心骨干,參與核心業(yè)務(wù)建設(shè)。
【四、團(tuán)隊(duì)氛圍】
扁平化協(xié)作,簡(jiǎn)單純粹搞事業(yè),沒有“辦公室政治”,只有“并肩作戰(zhàn)”,工作氛圍融洽。