单片机硬件 → ARM 架构 → Linux 内核 → 设备树 → 驱动开发
真正的底层 = 硬件原理 + 寄存器 + 总线 + 时钟 + 中断 + Linux 内核 + 驱动
第 1 层:单片机底层(硬件根基)
只学硬件本质,不学业务
- GPIO / 引脚复用
- 寄存器操作(必须懂)
- 时钟树、分频、锁相环
- 中断原理、优先级
- UART / I2C / SPI 总线时序
- DMA 原理
- 看门狗、电源管理
目标:懂硬件怎么工作,而不是会写业务。
第 2 层:ARM 架构底层(真正的芯片底子)
- Cortex-A 与 Cortex-M 区别
- MMU(内存管理单元)
- 地址映射、虚拟地址、物理地址
- 异常、中断控制器(GIC)
- 缓存机制
- 启动流程(Bootloader 本质)
这是 Linux 能跑起来的前提。
第 3 层:Linux 内核底层(系统核心)
- 内核启动流程
- 进程管理、调度
- 内存管理(malloc 底层)
- 中断子系统
- 内核同步(自旋锁、信号量)
- 内核调试手段(printk、strace、pstore)
懂内核,才算真正懂 Linux。
第 4 层:设备树 + 驱动框架(纯底层核心)
这就是你吃饭的铁饭碗
- 设备树(DTS)语法与原理
- 平台总线(platform bus)
- 字符设备驱动
- I2C / SPI 子系统
- V4L2 摄像头驱动
- ALSA 音频驱动
- MIPI、CSI、DSI 底层
- 时钟、电源、复位驱动
驱动 = 嵌入式底层的天花板。