嵌问Embedded Interview Lab
题库开始练习学习路线面试辅导关于本站
我的复习
首页题库开始练习学习路线面试辅导关于本站我的复习
嵌问 · 把“知道”练成“讲得清楚”
学习路线面试辅导关于与来源浏览题库学习记录仅保存在当前浏览器

Zero to Embedded

零基础学嵌入式,
先走通一条完整路径

24 周 MCU / RTOS 主线,加 8 周可选嵌入式 Linux 分支。每周以一个可验证成果推进,拒绝只看视频、只抄代码、只背八股。

从第一阶段开始 配合题库练习

建议每周 8–12 小时;时间是参考,不是速成承诺。

MAIN ROUTEMCU / RTOS 主线
24 周
C 与工具裸机与外设调试与 RTOS完整项目
OPTIONAL BRANCH · +8 周继续嵌入式 Linux

BEFORE YOU START

开始前,只准备最少的一套东西

01第 1–6 周无需开发板

电脑、编译器、编辑器和 Git 足够,先把 C 与调试练扎实。

02只选一个 MCU 平台

一块带板载调试器的 Cortex-M 开发板即可,不要同时追多个芯片系列。

03工具按问题逐步补

万用表和串口工具先用;学总线阶段再补逻辑分析仪,示波器可以借用。

24-WEEK MAIN ROUTE

MCU / RTOS 六阶段主线

每个阶段都包含学习内容、必须完成的作品和进入下一阶段的验收标准。

01
第 1–2 周

建立编程与工具感

先学会把问题拆成步骤,并让代码能被版本管理、编译和调试。完全零基础也从这里开始。

重点学习

  • 变量、条件、循环、函数与最基本的算法思维
  • 终端、文件路径、十六进制与二进制
  • Git 的提交、分支、差异与回退

必须产出

建立第一个 Git 仓库,完成 5 个小程序,并能独立编译、运行和定位一个故意制造的错误。

过关标准

能看懂编译错误;能解释源码、目标文件和可执行文件不是同一个东西。

练习本阶段题目
02
第 3–6 周

打牢 C 语言与内存基础

嵌入式的门槛不在语法数量,而在指针、生命周期、位操作和内存边界。

重点学习

  • 数组、指针、字符串、结构体、枚举与函数指针
  • 栈、堆、静态存储期、const 与 volatile
  • 位运算、字节序、对齐、模块化头文件

必须产出

不用现成容器,完成环形缓冲区、二进制协议解析器和带测试的状态机。

过关标准

能解释悬空指针、越界、结构体填充和 volatile 的边界,并用调试器证明判断。

练习本阶段题目
03
第 7–11 周

进入 MCU 与裸机开发

选择一块带调试器的 Cortex-M 开发板,理解代码如何从复位跑到 main,再驱动真实外设。

重点学习

  • 电压、电流、上拉下拉、去抖与基本数字电路
  • 启动文件、链接脚本、内存映射、时钟与 NVIC
  • GPIO、UART、定时器、PWM、ADC 与中断

必须产出

完成按键控制、串口命令行、定时采样和 PWM 输出;至少一个外设尝试从寄存器层理解。

过关标准

能画出上电到 main 的路径;能说明中断入口、栈和优先级发生了什么。

练习本阶段题目
04
第 12–14 周

学会协议与硬件调试

从“代码看起来没问题”升级到用波形、寄存器和日志建立证据。

重点学习

  • UART、I²C、SPI 的帧、时序、电气特性与选型
  • 轮询、中断、DMA 的成本与缓存边界
  • 断点、观察点、逻辑分析仪与故障注入

必须产出

实现传感器采集和显示链路,主动制造 NACK、超时、断线与缓冲区溢出,并完成恢复。

过关标准

能拿出成功/失败波形、错误计数和排查记录,而不是只说“换线后好了”。

练习本阶段题目
05
第 15–18 周

掌握 RTOS 工程基础

先理解并发问题,再使用任务、队列和锁;不要把每个功能机械拆成一个任务。

重点学习

  • 任务状态、优先级、调度、tick 与上下文切换
  • 队列、信号量、互斥量、任务通知和软件定时器
  • ISR API、优先级反转、栈水位与死锁诊断

必须产出

把裸机采集程序重构为 RTOS 版本,明确任务职责、通信方式、超时和资源所有权。

过关标准

能解释为什么这样分任务;能测量栈水位,并定位一次人为构造的死锁或优先级问题。

练习本阶段题目
06
第 19–24 周

完成一个可答辩的项目

把前面的知识收束为一个能演示、能测量、能复盘的作品,而不是下载一份代码跑起来。

重点学习

  • 需求拆解、模块边界、错误恢复与看门狗策略
  • 配置持久化、版本管理、测试计划和发布说明
  • 性能指标、故障现场、架构图与项目表达

必须产出

完成“温控与数据采集终端”:传感器、显示、串口 CLI、RTOS、配置保存、故障记录和看门狗。

过关标准

仓库包含 README、架构图、测试记录和一次真实故障闭环;能回答为什么、怎么做、怎么查、如何优化。

练习本阶段题目

OPTIONAL · WEEK 25–32

想走 BSP / 驱动,再进入嵌入式 Linux

完成 C、裸机与调试主线后再学 Linux,会更容易理解交叉编译、启动链、设备树和驱动边界。不要零基础直接从字符驱动模板开始抄。

浏览 Linux 路线题目
25–26Linux 使用与系统编程

Shell、进程线程、文件、网络、GDB、Make/CMake 与交叉编译。

27–29启动链与系统构建

Boot ROM → U-Boot → Kernel → DeviceTree → RootFS,用 Buildroot 生成可启动系统。

30–32BSP 与驱动实践

修改设备树、匹配 platform driver、处理中断和并发,完成一个传感器网关。

PORTFOLIO PROJECT

最终作品不看功能数量,看工程闭环

建议主项目做“温控与数据采集终端”:I²C 传感器、SPI 显示、UART CLI、FreeRTOS、参数持久化、看门狗和故障记录。Linux 分支可把它扩展成串口采集网关。

架构图与接口边界 可复现的故障记录 CPU、时延与栈水位 测试步骤与演示视频

OFFICIAL RESOURCES

按阶段使用的官方资料

这些资料用于学习和查证,不建议从头到尾一次读完。遇到当前阶段的问题,再进入对应章节。

编程与工程工具

CS50x 2026

真正零编程基础可学 Week 0–5,覆盖 C、数组、算法、内存和数据结构。

GNU C Language Manual

有一点编程概念后按章节学习 C;同时区分 GNU 扩展与标准 C。

Pro Git · Git Basics

先掌握仓库、提交、差异、历史和远程协作,不必一开始学习所有高级命令。

CMake 官方教程

在多文件 C 项目阶段学习可执行文件、库、链接关系和测试。

GNU GDB Documentation

配合每次可复现的 bug 学断点、调用栈、内存和变量观察。

MCU 与 RTOS

STM32 官方在线课程

免费覆盖系统、内存、外设、定时器、看门狗与开发生态,适合配合开发板实践。

Arm Cortex-M4 技术手册

阶段 3 起作为参考,重点看处理器模型、内存、异常和 NVIC,不要求从第一页通读。

FreeRTOS 官方学习入口

完成裸机中断和状态机后再进入,按任务、队列、信号量、软件定时器的顺序学习。

嵌入式 Linux 分支

Linux Kernel · Devicetree

理解设备树是描述硬件的数据结构,以及它如何把板级配置与驱动代码解耦。

U-Boot 官方文档

从构建、环境变量和启动系统开始,再进入 Driver Model、FIT 与升级机制。

Buildroot 官方手册

用它建立交叉工具链、内核、Bootloader 和根文件系统的整体认识,并产出可启动镜像。

WEEKLY RHYTHM

每周按这个比例推进

20%看课程与文档

只学本周项目需要的知识。

60%写代码与接线

自己实现、测量并制造失败。

20%调试与复盘

记录现象、证据、根因和验证。

NEED A CUSTOM PLAN?

不知道该选 MCU、RTOS 还是嵌入式 Linux?

把你的基础、每周时间和目标岗位发给我,可以进一步做一对一学习路线与项目规划。

了解个人指导 邮箱咨询