# 关于“嵌入式系统从0到1”系列文章:我为什么想写一个完整的知识体系?
## 写在开头
从事嵌入式开发这些年,我踩过无数坑,也翻过无数遍 datasheet。回头看自己走过的路,最大的感触不是技术有多难,而是学习资料太散了。
今天刷到一个讲 STM32 时钟树的视频,明天收藏一篇 Linux 驱动入门,后天又被推荐去看 FPGA 的基础逻辑——这些内容单独拿出来都是好东西,但拼在一起就像一幅被打乱的拼图,你不知道哪块该先放、哪块该后放,更不知道它们之间到底是什么关系。
这种碎片化学习的痛苦,我相信每个嵌入式学习者都深有体会。
所以,我决定做一件事:用一系列文章,把嵌入式系统从硬件到软件完整地串起来。
## 这个系列想解决什么问题
市面上嵌入式的教程和资料多如牛毛,但普遍存在几个问题:
第一,软硬分离。讲硬件的只管电阻电容和 PCB 布局,讲软件的只关心代码和算法,仿佛它们是两个世界的东西。但真实的嵌入式开发中,硬件和软件是共生关系——不看原理图你怎么配置引脚?不懂外设时序你怎么写驱动?
第二,缺乏主线。很多教程是“知识点导向”而非“系统导向”的。今天讲 I2C 协议,明天讲 FreeRTOS 任务调度,这些知识点本身没错,但初学者很难理解它们在一个完整系统中分别扮演什么角色、为什么需要它们。
第三,深一脚浅一脚。 有的地方讲得过于底层(比如从晶体管开始),有的地方又一笔带过(比如直接丢给你一个工程模板让你“照着抄就行”)。缺乏一个稳定的、循序渐进的节奏。
这个系列的目标,就是打破碎片化,建立一棵完整的嵌入式知识树——从树根(电路基础)到树干(处理器架构与操作系统)再到枝叶(具体外设、协议、驱动),让你清楚地知道每个知识点在整棵树上的位置。
## 这个系列会涵盖什么
整体规划分为两大板块:硬件篇和软件篇,并且硬件和软件会先从用起来讲起,用起来以后再系统的讲解,系统讲解也分基础和进阶。
### 硬件篇(主线)
- 电路基础、电源与功耗、最小系统、外设电路、PCB 设计、EMC
### 软件篇(主线)
嵌入式 C 语言、MCU 编程模型、外设驱动、RTOS
## 这个系列和别的教程有什么不同
- **软硬一体**:不会只讲代码不讲电路,也不会只讲电路不讲代码
- **有主线、有节奏**:不是知识点的堆砌,而是一条从零到一的学习路径
- **重原理、轻玄学**:每个结论都有依据,不搞“照着抄就行”
## 更新计划
系列文章会持续更新,预计每周 1-2 篇。
## 适合谁看
- 刚入门嵌入式、被碎片化资料搞得晕头转向的初学者
- 有一定经验、但知识体系不够系统的开发者
- 偏软件想补硬件、或偏硬件想补软件的工程师
## 最后
嵌入式系统最迷人的地方,在于它横跨了物理世界和数字世界——你写的每一行代码,最终都会转化为引脚上的电压变化,去驱动一个电机、点亮一盏灯、读取一个传感器。这种“代码即物理”的踏实感,是纯软件开发很难体会到的。
我希望这个系列不仅能教会你具体的知识点,更能帮你建立起对嵌入式系统的**整体认知**——让你看到硬件和软件是如何协同工作的,看到一个嵌入式产品从原理图到跑起代码的全过程。
如果你也厌倦了碎片化的学习方式,欢迎跟上这个系列,我们一起把嵌入式这件事,从头到尾理清楚。
敬请期待。