崗位職責(zé):
1. 開發(fā)與維護(hù)硬件驅(qū)動(dòng)程序:負(fù)責(zé)屏幕、觸摸屏、觸摸板、攝像頭、傳感器(Sensor)等設(shè)備的 Linux 驅(qū)動(dòng)開發(fā)、調(diào)試和優(yōu)化工作,確保設(shè)備與系統(tǒng)的兼容性和穩(wěn)定性。
2. 性能優(yōu)化與故障排查:通過調(diào)試工具進(jìn)行驅(qū)動(dòng)程序的性能調(diào)優(yōu),及時(shí)排查并解決硬件驅(qū)動(dòng)中的問題,提升設(shè)備響應(yīng)速度和系統(tǒng)性能,保證用戶體驗(yàn)。
3. 內(nèi)核模塊開發(fā)與定制:根據(jù)產(chǎn)品需求進(jìn)行 Linux 內(nèi)核模塊的開發(fā)與功能定制,參與內(nèi)核的升級(jí)和維護(hù)工作,以確保不同硬件平臺(tái)的兼容性。
4. 硬件接口設(shè)計(jì)與實(shí)現(xiàn):設(shè)計(jì)并實(shí)現(xiàn)屏幕、觸摸屏、攝像頭等設(shè)備與操作系統(tǒng)之間的通信接口,確保硬件功能的高效實(shí)現(xiàn)。
5. 新硬件的集成與調(diào)試:負(fù)責(zé)新硬件設(shè)備的驅(qū)動(dòng)程序集成,配合硬件團(tuán)隊(duì)進(jìn)行調(diào)試,解決硬件接口通信中的問題,優(yōu)化驅(qū)動(dòng)與硬件的交互性能。
6. 跨平臺(tái)適配:為不同硬件平臺(tái)(如 ARM、x86 等)進(jìn)行驅(qū)動(dòng)程序的移植和優(yōu)化,確保驅(qū)動(dòng)在多種平臺(tái)上穩(wěn)定運(yùn)行。
7. 文檔撰寫與技術(shù)支持:撰寫相關(guān)開發(fā)文檔、API說明和使用指南,為產(chǎn)品開發(fā)和后續(xù)維護(hù)提供技術(shù)支持,并配合軟件、硬件團(tuán)隊(duì)進(jìn)行技術(shù)問題的溝通與解決。
任職要求:
1. 計(jì)算機(jī)科學(xué)、電子工程等相關(guān)專業(yè)本科及以上學(xué)歷,3-5 年 Linux 驅(qū)動(dòng)開發(fā)經(jīng)驗(yàn)。
2. 熟練掌握 C 語(yǔ)言編程,具備扎實(shí)的編程基礎(chǔ)和良好的代碼風(fēng)格,能夠高效調(diào)試和優(yōu)化代碼。
3. 熟悉 Linux 內(nèi)核架構(gòu),了解設(shè)備驅(qū)動(dòng)模型、內(nèi)存管理、進(jìn)程調(diào)度等內(nèi)核模塊的工作原理。
4. 具備開發(fā)與調(diào)試基本設(shè)備(如屏幕、觸摸屏、觸摸板、攝像頭、傳感器等)的 Linux 驅(qū)動(dòng)經(jīng)驗(yàn)。
5. 熟悉 PCI、USB、I2C、SPI、UART 等常見總線協(xié)議,能夠?yàn)槎喾N接口設(shè)備開發(fā)驅(qū)動(dòng)程序。
6. 熟練使用 gdb、strace、ftrace 等調(diào)試工具,具備快速定位和解決驅(qū)動(dòng)程序中問題的能力。
7. 具備硬件基礎(chǔ)知識(shí),能夠閱讀硬件原理圖和規(guī)格書,并根據(jù)硬件設(shè)計(jì)編寫驅(qū)動(dòng)。
8. 熟悉 git 版本控制系統(tǒng)和 make、gcc 等編譯工具,能夠適應(yīng)交叉編譯環(huán)境的開發(fā)工作。
9. 良好的溝通和團(tuán)隊(duì)協(xié)作能力,能夠與硬件、軟件團(tuán)隊(duì)緊密配合,確保產(chǎn)品開發(fā)順利推進(jìn)。
10. 具有 Chromebook 開發(fā)經(jīng)驗(yàn)優(yōu)先