第 1 章 · 嵌入式全景与开发范式 章节摘要:本章解决"嵌入式开发到底在做什么"这个定位问题。我们把嵌入式系统与通用计算机放在同一张桌面上对比,划清资源约束、实时性与可靠性这三条边界;再把同一件小事——点亮一颗 LED——用裸寄存器、HAL 库、框架库三种范式各做一遍,让你在写代码之前就知道自己站在哪一层、每层替你藏掉了什么。读完本章,你应当能对任何一块新板子快速判断:该从哪一层下手,代价是什么。 本章学习目标 读完本章并完成动手环节后,你应当能够: 用"资源受限、面向专一任务、常驻运行"这三要素判断一段程序是否属于嵌入式范畴; 说出实时性里硬实时与软实时的区别,并举例说明错过截止时间的后果各是什么; 拿到一块陌生开发板时,列出判断开发范式的三步检查(芯片资料完整度、工程周期、资源余量);
章节摘要:本章解决"嵌入式开发到底在做什么"这个定位问题。我们把嵌入式系统与通用计算机放在同一张桌面上对比,划清资源约束、实时性与可靠性这三条边界;再把同一件小事——点亮一颗 LED——用裸寄存器、HAL 库、框架库三种范式各做一遍,让你在写代码之前就知道自己站在哪一层、每层替你藏掉了什么。读完本章,你应当能对任何一块新板子快速判断:该从哪一层下手,代价是什么。
读完本章并完成动手环节后,你应当能够:
一张图概括本章的层次观:应用框架坐在库上,库坐在寄存器上,寄存器坐在硅片上。学习路线自下而上,工程路线常常自上而下,两条路线在第 3 章的 GPIO 实战处汇合。
一句话记住本章:范式决定你离硬件的距离,距离决定你排查问题的深度。

1.1 嵌入式系统是什么 —— 给嵌入式下定义,划出与桌面软件的边界;硬实时与软实时、可靠性与功耗约束决定了后面所有章节的工程取向。
1.2 寄存器、HAL 与库函数 —— 用同一颗 LED 的三种写法把"范式"这个词落到代码上,给出选型检查清单,并说明本教程为何以寄存器为主调。
本章内容按两种节奏消化皆可。体系型读者按部就班通读,把范式对比刻进背景知识,后面遇到每个库函数都自带"它在替我做什么"的追问;急用型读者可以先扫 1.2 的三种写法代码与选型表,直接进入第 2 章,等实际写出第一个能跑的程序再回来补 1.1 的概念地基——概念在见过实物之后记忆效率翻倍。唯一的建议是:无论哪种读法,1.2 结尾"为什么坚持从寄存器讲起"那一段务必细读,它是全书方法论的自我声明,理解了它,后面每一章的详略取舍你都能预判。
问:先学 STM32 还是先学 ESP32? 建议从 STM32F103 的裸机寄存器入手。它的资料最全、社区答案最多、外设逻辑最"裸"——每一行代码的效果都能追到寄存器位;ESP32 的 SDK 把细节包得较深,先在 STM32 上练出透视能力,再上 ESP32 就如虎添翼。反之先学 ESP32 也能入门,只是遇到"为什么不生效"时更难往下挖。
问:完全不会电路,能学这本吗? 前四章只需要看懂"引脚、电阻、上拉"这个级别的概念,3.3 节会把这些一次补齐。真正深入模拟电路(运放、滤波)不属于本册范围,遇到了绕开即可。
问:工具链要用官方 IDE 还是命令行? 都行,但本册的调试章节按命令行会话讲解——不是因为命令行更高贵,而是它把"编译、烧录、调试"三步的本质暴露得更清楚,图形工具出问题时你才有得查。
先立标准(什么是嵌入式、约束在哪),再给选择(范式与工具链),是"先看地图再上路"的安排。1.1 的三条约束会解释 1.2 里每种范式的优缺点——正因为资源受限,代码体积才重要;正因为要常驻运行,出问题时执行路径必须可追。读完两节再进入第 2 章,你会带着"我要看穿这些抽象"的明确目的,而不是被动接受一堆名词。
需要的底子很薄:会 C 语言的基本语法(指针、位运算、结构体),见过一块开发板长什么样即可。位运算不熟的读者,建议先花半小时过一遍按位与、或、移位,第 3 章会大量使用。往后看,本章的范式对比在第 3 章变成寄存器实操,在第 6 章升格为"库与 RTOS 的关系",在第 7 章收束为"产品代码该厚还是该薄"的工程判断。每往后走一章,都可以回来重新掂量本章的结论。