Linux嵌入式工程师学习路线
文章目录
-
- 一、核心基础
- 二、嵌入式开发特定技能
- 三、系统集成与工具
- 四、软技能与知识面
一、核心基础
-
扎实的C/C++编程:
- C: Linux内核、驱动程序、系统级程序、资源受限应用的基石。必须精通指针、内存管理(静态、动态)、结构体、位操作、函数指针、预处理、标准库等。
- C++: 随着嵌入式系统复杂度和性能提升,C++(尤其是带RTTI/异常限制的版本)在应用层开发中日益重要。理解面向对象设计、资源管理(RAII)、模板等。
- 编码规范与风格: 遵守内核、驱动或团队特定的规范(如GNU、Linux内核风格)。
-
深入理解计算机体系结构与操作系统原理:
- CPU架构(ARM是最主流,x86、MIPS、RISC-V等次之):理解寄存器、指令集(汇编阅读能力是加分项)、内存映射、中断/异常处理机制、缓存、MMU。
- OS核心概念:进程/线程/协程、调度(特别是Linux调度策略
SCHED_FIFO
,SCHED_RR
,SCHED_OTHER
,SCHED_DEADLINE
)、同步与互斥(互斥锁、信号量、自旋锁、RCU)、内存管理(虚拟内存、页表、kmalloc/vmalloc, SLAB/SLUB)、中断与上下文切换、系统调用。