技能要求:
1、深入理解 Linux 內(nèi)核架構(gòu)(進(jìn)程調(diào)度、內(nèi)存管理、文件系統(tǒng))、掌握內(nèi)核模塊開發(fā)(字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)驅(qū)動(dòng))、熟悉設(shè)備樹(Device Tree)的編寫與調(diào)試。
2、掌握 C 語(yǔ)言在 Linux 環(huán)境下的編程(文件操作、多線程、進(jìn)程間通信);熟悉 POSIX 標(biāo)準(zhǔn)和系統(tǒng)調(diào)用(如 fork、exec、socket);了解嵌入式 Linux 系統(tǒng)的啟動(dòng)流程(BIOS/UEFI → Bootloader → Kernel → Rootfs)。
3、編寫 Shell 腳本進(jìn)行系統(tǒng)管理、編譯自動(dòng)化(如 Makefile、CMake);熟悉自動(dòng)化工具(如 BusyBox、Buildroot、Yocto Project)構(gòu)建根文件系統(tǒng)。
4、配置針對(duì)目標(biāo)平臺(tái)的交叉編譯工具鏈(如 arm-linux-gnueabihf-gcc)、解決依賴問題和庫(kù)文件移植、調(diào)試與性能優(yōu)化、使用 GDB、Valgrind 等工具進(jìn)行遠(yuǎn)程調(diào)試、掌握性能分析工具(如 oprofile、perf)和內(nèi)存泄漏檢測(cè)。
5、熟悉 ext4、JFFS2、UBIFS、YAFFS 等嵌入式文件系統(tǒng)的特性與適用場(chǎng)景。掌握根文件系統(tǒng)的定制與壓縮(如使用 initramfs、squashfs)。
6、開發(fā) SD 卡、eMMC、NAND/NFlash 等存儲(chǔ)設(shè)備的驅(qū)動(dòng)。實(shí)現(xiàn)數(shù)據(jù)持久化和文件系統(tǒng)一致性(如日志結(jié)構(gòu)文件系統(tǒng))。
7、實(shí)現(xiàn) TCP/IP、UDP、HTTP、MQTT、CoAP 等協(xié)議在嵌入式設(shè)備上的應(yīng)用。開發(fā)網(wǎng)絡(luò)驅(qū)動(dòng)(如以太網(wǎng)、Wi-Fi、4G/5G 模塊)。
經(jīng)驗(yàn)要求:
1、從事Linux開發(fā)3年及以上,有從 0 到 1 搭建嵌入式 Linux 系統(tǒng)(如移植內(nèi)核、配置驅(qū)動(dòng)、優(yōu)化文件系統(tǒng))的項(xiàng)目經(jīng)驗(yàn)。
2、理解基本電路原理(如電平轉(zhuǎn)換、時(shí)序邏輯)、熟悉常見微控制器(如 STM32、ESP32)和開發(fā)板,掌握 GPIO、SPI、I2C、UART 等通信協(xié)議的硬件實(shí)現(xiàn)。
3、了解 ARM、MIPS、PowerPC 等處理器架構(gòu)及特點(diǎn),掌握內(nèi)存映射、中斷處理、總線架構(gòu)(如 AMBA、PCIe)。
4、熟練使用示波器、邏輯分析儀、萬(wàn)用表等工具。
5、掌握 JTAG、SWD、UART 等調(diào)試接口的使用。
更新于 2026-04-13