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