Embedded learning path / 首版路线图

从一行 C 代码,
走到一套能工作的嵌入式系统。

主线从 C 语言起步,进入 STM32 开发,再用 Ubuntu 完成 Linux 工具链与系统联调。硬件设计同步学习:每走一步软件,也认识背后的电路、器件与测量方法。

已经学过基础?可进入 C 语言课程目录选择章节。

Main track

主线:六个能力关卡

软件按 C 语言 → STM32 → Ubuntu / Linux 前进,硬件课程可同时学习。C 语言与 STM32 裸机调度器、GPIO 基础已开放,其余阶段继续完善。

FOUNDATION / 已开放C 语言先把程序和内存搞明白
CONTROL / 基础已开放STM32让真实硬件按设计工作
SYSTEM / 待建设Ubuntu / Linux把设备、应用与系统连起来
01 / 06C 语言基础

写得出,也读得懂

从变量和控制流开始,逐步用函数拆解问题,习惯用编译器提示和小实验验证想法。

  • 类型与表达式
  • 分支与循环
  • 函数
  • 数组与字符串
  • .h / .c 分离
交付作品 / 命令行“温度记录器”:输入多组数据,输出均值、最大值与异常输入提示。
并线硬件:电压、电流、欧姆定律;电阻、LED 与万用表。
打开 C 语言基础课程 →
02 / 06面向硬件的 C

理解内存与每一位

认识指针、结构体与内存布局,用位掩码表达寄存器操作,再学会用调试器定位错误。

  • 指针与结构体
  • 位运算
  • 枚举与状态
  • 编译 / 链接
  • GDB 入门
交付作品 / 8 位“虚拟寄存器”小程序:设置、清除、读取某一位,并写出边界样例。
并线硬件:二极管、三极管、MOSFET 与低压开关电路。
从指针课继续 →
03 / 06STM32 起步 · 基础已开放

让开发板回应你

读板卡原理图和引脚资料,建立下载调试流程,再用 GPIO、定时器和中断替代阻塞式等待。

  • 时钟与 GPIO
  • 按键 / EXTI
  • 定时器 / PWM
  • UART 日志
  • 断点调试
交付作品 / 按键切换 LED 模式,串口打印状态;主循环保持可响应。
并线硬件:去耦、电平与接口;继电器线圈、TVS 与保险丝。
开始 STM32 基础课程 →
04 / 06STM32 外设 · 待建设

采集、通信和控制

把传感器数据送进系统,分清采样、缓冲和通信,再用状态机与模块边界组织程序。

  • ADC
  • I²C / SPI
  • DMA
  • 环形缓冲
  • 状态机
交付作品 / 传感器采集节点:周期采样、串口发送、错误状态可追踪。
并线硬件:供电树、LDO、Buck、接地与测量纹波。
05 / 06Ubuntu 开发主机 · 待建设

学会系统工具链

Ubuntu 可以提前作为开发电脑的系统;这一关集中练习 Shell、文件权限、编译、调试和串口工具。

  • Shell / 权限
  • GCC / Make
  • GDB
  • 串口设备
  • 进程与日志
交付作品 / 在 Ubuntu 上编译并运行串口数据记录程序,生成带时间戳的日志。
并线硬件:连接器、供电接口、信号参考地与线束检查。
06 / 06嵌入式 Linux 集成 · 待建设

做出一套完整系统

另选能运行 Linux 的目标板,认识交叉编译、设备节点和服务管理,让 MCU 与 Linux 各司其职。

  • 交叉编译
  • 设备节点
  • GPIO 用户态接口
  • 系统服务
  • 系统联调
交付作品 / STM32 采集并发送数据,Linux 端持续接收、记录与展示。
并线硬件:原理图、PCB、电源与接口联调记录。

说明:普通 STM32 MCU 学习与嵌入式 Linux 目标板是两个平台阶段;Ubuntu 可先用作开发主机,后续再根据目标板选合适的 Linux 系统。

Parallel track

硬件设计,和软件并线前进

不必等学完 C 再接触硬件。课程从电子器件、模拟与数字电路走向供电、通信与隔离,按自己的进度与软件主线并行。

进入硬件课程目录 →

H-01 / 测量

电路与无源器件

电压、电流、功率;串并联、欧姆定律;电阻、电容、电感、LED、二极管和万用表。

练习:画一条低压 LED 限流回路,计算后再测量。

从电阻课开始 →
H-02 / 开关

驱动与保护

BJT、MOSFET、继电器、光耦、TVS、熔断器;学会看额定值和最坏工况。

练习:用低压负载做开关,测量关断与导通状态。

学习 MOS 管 →
H-03 / 供电

电源与热

LDO、Buck/Boost、去耦和电感;区分输出能力、效率、纹波与发热。

练习:给 5 V → 3.3 V 小系统画供电树并列出检查点。

学习 Buck 与 Boost 专题 →
H-04 / 实现

原理图到 PCB

电源入口、保护、连接器、回流路径、布局与测试点;记录测量结果和修改理由。

练习:完成一块低压小板的原理图与首次联调清单。

识图与 KiCad 课程待续。

实操边界:首版动手任务限定在低压、限流的直流环境。IGBT、晶闸管以及市电相关拓扑先阅读资料和仿真,不直接接触市电实验。

Hardware resources / 硬件延伸

按需要查阅与深入

这些内容属于硬件学习的补充,不是软件主线的下一阶段。

REFERENCE / 图鉴

元器件基础图鉴

按类别查阅常见器件的用途、关键参数、易错点与低压练习。

打开元器件图鉴 →
SPECIAL TOPIC / 专题

开关电源专题

结合硬件课程深入学习同步 Buck 与 Boost 的电流路径和设计基础。

进入电源专题 →

Your first moves

从这四件小事开始

不必等到“学完 C”才碰硬件。先建立“写一点、测一点、解释清楚”的循环。

01

写第一个 C 程序

用编译器运行输入、判断和输出;把警告当作需要理解的反馈。

02

算一颗 LED 的限流

给定低压电源和目标电流,算电阻,再核对电阻功耗与 LED 参数。

03

练习位掩码

把一个 8 位变量当作寄存器,独立设置、清除和检测指定的位。

04

读一页数据手册

挑一颗 MOSFET,找出额定电压及目标栅压下的导通电阻。

Primary references

从官方资料继续深入

路线图是学习顺序,不替代具体板卡手册。选定开发板与器件后,以对应原理图、参考手册和数据手册为准。