学习嵌入式,不能一开始就只盯着开发板、寄存器和代码。面对一个拥有大量细分方向的行业,首先要建立宏观认知,也就是理解这个行业为什么出现、靠什么力量发展、形成了怎样的产业生态。只有先建立"世界观",后面学习 GPIO、时钟、串口和定时器时,才能知道这些知识在整个技术体系中的位置。
嵌入式系统本质上是计算机发展的一个分支。因此,要理解嵌入式的历史与生态,必须先理解计算机是如何诞生和发展的。
一. 历史生态问题
1. 计算机发展的底层驱动力
故事可以从 ENIAC 讲起。1946 年 2 月 14 日,ENIAC 作为早期电子计算机的代表公开亮相。它由美国宾夕法尼亚大学为军方研制,主要目的是进行炮弹弹道轨迹计算,由约翰·莫奇利和普雷斯珀·埃克特主导设计。
ENIAC 占地约 170 平方米,重约 30 吨,功耗约 150 千瓦,内部使用约 18800 个电子管,每秒可以完成约 5000 次加法运算。与今天几毫米大小的芯片相比,它极其庞大,但它开启了电子计算机时代。此后,它还参与了氢弹研制的早期计算,并运行过早期数值天气预报程序。
如图:

第二次世界大战结束后,世界进入美苏冷战阶段。国家之间的竞争不仅体现在政治和军事上,也体现在科技上。为了在竞争中取得优势,各国持续投入资金、人才和资源,推动计算机、通信、导航、航天等技术发展。
核心结论:
计算机发展的底层驱动力,与主导国家之间的竞争密切相关。
这个结论强调的是技术发展背后的现实动力。很多重大技术在早期都成本高昂、应用范围狭窄,单靠普通民用需求很难获得足够投入,而国家级需求能够承担早期研发风险。
2. 军转民
在国家竞争背景下,新技术诞生初期往往由国家主导,首先用于军工领域。
几个典型例子:
<1>. 电子计算机最初用于弹道计算、密码分析等任务。
<2>. ARPANET 由美国国防部高级研究计划局推动,早期节点连接军方和大学实验室,后来成为互联网发展的重要基础。
<3>. GPS 最初用于军事定位和导航,后来进入汽车、手机、物流等民用领域。
<4>. 喷气式客机的发展受益于军用轰炸机和加油机积累的技术。
<5>. 集成电路和微处理器早期的大规模订单、可靠性要求,与导弹制导和航天计算机密切相关。
然而,国家投入不可能无限扩大。想让技术持续发展,就必须让它进入更广阔的民用市场,通过大量销售获得收入,再把收入投入下一轮研发。这就是**"军转民"的重要意义**。
互联网、GPS、计算机、微波炉等产品,都可以看到军用技术向民用领域扩散的影子。同时,技术流动也不只有一个方向。例如无人机等技术在民用市场快速发展后,也会反过来影响军工领域。
流程如图所示:

核心结论:
军转民是国家在技术竞争中保持领先的一种重要发展模式。
例如在军转民背景下,产生的产品:
•互联网
•导航GPS,北斗
•微波炉
•罐头食品 ,军刀
•计算机
3. 摩尔定律
1965 年,英特尔联合创始人戈登·摩尔在《电子学》杂志发表文章,观察到芯片上可容纳的晶体管数量会快速增长。1975 年,他把增长周期修正为大约两年。后来业界通常用"集成电路上的晶体管数量约每 18 至 24 个月增加一倍"概括摩尔定律。
晶体管数量持续增加,意味着相同面积的芯片可以集成更多功能,也意味着过去庞大的计算机能够不断缩小体积。计算设备由房间大小发展到机柜、桌面、掌上设备,最后进入各种产品内部。
核心结论:
摩尔定律为计算机小型化提供了可能。
4. 通用与专用
计算机进入民用领域以后,具体形态取决于人们的需求。
人们 希望一台机器能够听歌、看电影、上网、玩游戏、写文档和编程,于是出现了个人电脑。这类计算机能安装各种软件,完成大量不同任务,是通用计算机的代表。
国家 进行科学研究、天气预报、基因分析、密码计算时,单台个人电脑性能不够,于是把大量高性能 CPU、GPU 和高速网络组合起来,形成超级计算机,用于解决超大规模计算问题。
电视、冰箱、洗衣机、无人机、空调、汽车和机械臂则不需要像个人电脑那样运行各种软件。它们只需要稳定、高效、低功耗地完成一个或少数几个特定任务。因此,工程师把一台小型计算机放入产品内部,让它专门负责控制,这就是专用计算机,也是嵌入式系统的主要形态。
如图:

计算机可以从这里分成三类:
- 通用计算机:一台机器能够完成多种任务,具体功能由软件决定。
- 超级计算机或高性能计算机:集合大量计算资源,解决大规模计算难题。
- 专用计算机或嵌入式系统:为特定功能而生,强调低功耗、实时性、稳定性和成本。
核心结论:
专用计算机,也就是嵌入式系统,诞生的目的,是以较低成本解决一个个特定领域的问题。
5. 嵌入式系统的诞生脉络
嵌入式系统诞生早期主要服务于军工领域。在 20 世纪 70 年代,人们所说的嵌入式系统,通常是把计算机嵌入导弹、战斗机、潜艇和雷达中。
-
制导系统需要实时解算弹道并控制舵面。
-
火控系统需要根据雷达数据完成瞄准和武器控制。
-
军事通信设备需要专用、安全的控制芯片。
民用领域直到 20 世纪 80 年代中后期,才开始有少量使用 MCU 的产品,例如高级洗衣机、电子琴等。此后,随着芯片性能提升、成本下降,嵌入式系统逐渐进入家电、汽车、工业、通信、医疗和消费电子领域。
时间阶段:
| 阶段 | 时间 | 代表事件与技术 | 核心逻辑 |
|---|---|---|---|
| 1. 萌芽期:纯军工应用 | 1960s | 阿波罗导航计算机(AGC)、F-14 战斗机 MP944 芯片 | 不计成本,追求技术极限突破,基本没有民用属性 |
| 2. 技术溢出:分工与小型化 | 1970s | Intel 4004(1971):首个商用微处理器;TMS1000(1974):首个 MCU(单片机) | 军用微型化技术开始外溢,CPU 开始和简单工控结合,体积和成本逐步下降 |
| 3. 民用扩展:进入工业与高端消费 | 1980s | Intel 8051(1980):经典单片机;汽车电子、工业 PLC 普及 | 性能提升、价格下降,可靠性增强,逐渐进入工业控制、汽车电子等领域 |
| 4. 全面普及:后 PC 时代 | 1990s | 诺基亚手机、VCD/DVD、信息家电爆发 | 嵌入式技术大规模进入通信、家电和消费电子,逐渐成为普通电子产品的基础技术 |
核心结论:
嵌入式系统是一种专用计算机,它的发展路径中能够看到军工和军转民的影响。
6. 嵌入式为什么叫"嵌入式"?
一个计算机系统被嵌入更大的设备或系统中,成为其中不可分割的一部分,而不是作为独立的通用计算机存在,这就是"嵌入式"名称最直接的来源。
特点:
<1>.它不是独立产品 。人们购买的是智能空调、无人机、心率手环和医疗监护仪,而不是单独购买其中的嵌入式系统。嵌入式系统是产品内部的大脑或控制器。
<2>.它通常藏在设备内部。洗衣机、微波炉、汽车刹车系统、航空发动机、智能手表和医疗设备中,都可能有一块或多块芯片和电路板,用户通常看不到它们。
<2>.它的软硬件为特定任务定制。微波炉中的系统负责面板、定时、火力和磁控管控制,不需要成为 MP3 播放器;空调中的系统负责温度、风速、压缩机和保护逻辑,不需要承担通用办公任务。
这种"嵌入"带来了几项典型特征:
-
**实时性 **:汽车刹车踏板被踩下时,系统必须在规定时间内响应。
-
**资源受限 **:为了控制成本和功耗,RAM、Flash 和计算能力通常有限。
-
**低功耗 **:智能手表、无线传感器等产品需要长时间依靠电池工作。
-
**低成本 **:产品大量生产后,每一个器件的成本都会被出货量放大。
-
**高可靠性**:设备可能需要连续工作多年,不能像个人电脑一样频繁重启维护。
总结:
通用计算机是"站出来让你用的",嵌入式系统是"蹲在里面替你干的"。
二. 认识计算机
理解了通用与专用的区别后,再看"计算机"这个概念,就会发现它远不只是台式机和笔记本。计算机可以呈现不同形态,本质上都是为了满足不同场景中的需求。
1. 个人电脑 PC
个人电脑包括台式机 和笔记本,是大家最熟悉的计算机。它既可以娱乐,也是学习、编程和工作的生产力工具。对于台式机来说,真正的本体是机箱,显示器只是输入输出设备的一部分。
如图:

2. 智能手机与平板电脑
智能手机和平板电脑通常共享操作系统和软件生态。平板虽然叫"电脑",但在系统和应用形态上更接近大屏手机。随着技术发展,它们的算力大幅提高,但受到软件生态和交互方式影响,在企业开发特别是程序员工作中,个人电脑仍然是主要生产工具。
如图:

注意:
• 随着技术的发展,⽬前⼿机和平板电脑的算⼒⼤幅度提升,相当于PC 端⼏年前的算⼒⽔平
• 受限于软件⽣态,⼿机和平板电脑还⽆法承担"⽣产⼒⼯具"这样的重任.尤其是对于程序员⾏业来说
3. 服务器
或许我们没见过真实的服务器,但是我们日常使用的各种软件/网站,几乎都和服务器密切相关.
• 点⼀个外卖,需要外卖的客户端软件和外卖服务器进行交互,**例如C/S 结构(客户端/服务器结构),**如图:

• 打开⼀个百度搜索,需要浏览器和百度服务器进行交互,例如B/S 结构(浏览器/服务器结构),如图:

注意:
cpp
• Client/Server,即客⼾端/服务器架构
• Browser / Server,即浏览器/服务器架构
• ⽆论是C/S还是B/S,服务器都是其中⾮常重要的环节,核⼼的数据管理和业务逻辑,都是在服务器端完成的.
由于同⼀时刻会有很多的客户端/浏览器访问服务器,意味着服务器需要有非常强大的算力支撑用户请求。 因此服务器的硬件配置会比较高 ,提供的运算能力和存储能力 都远远超过个人电脑。 同时,服务器对于周围的温度,湿度等环境指标要求苛刻,通常企业级服务器都是托管在专业的机房中 的,我们普通人很难直接接触到。
4. 单片机
单片机也叫 MCU ,全称 Microcontroller Unit ,即微型控制单元 ,也有人称其为 Single Chip Microcomputer ,即单片微型计算机。与高性能、昂贵的服务器相比,单片机通常体积小、性能相对有限、成本低。
空调中的单片机负责温度、风速和风向;冰箱中的单片机负责温度、灯光和除湿。工业、汽车、航空航天、通信和医疗领域同样大量使用单片机。
如图:


当然,不仅仅是日常常见家居设备,在工业,汽车,航空航天,通信,医疗等领域,也在广泛使用单片机,下图为路由器拆机后内部结构:

像我们的PC/服务器这样的计算机,属于"通用计算机" ,可以安装各种程序,解决各种场景的问题. 而单片机通常针对某⼀类特定场景,解决特定问题 ,因此单片机一般不需要高算力。
例如:
• 空调的单片机只需要能控制空调的温度,风速,风向等功能即可,不需要使用空调点外卖。
• 冰箱的单片机只需要控制温度,灯光,除湿等功能即可,不需要使用冰箱刷短视频。
单片机体积非常小,成本也比较低,如图:

需要特别区分单片机与嵌入式系统:
cpp
- 单片机是一颗具体、可编程的硬件芯片。
- 嵌入式系统是完整系统,包含单片机、电路、传感器、软件和被控制对象。
- 单片机是许多嵌入式系统的核心硬件,但单片机不等于整个嵌入式系统。
- 类似与⽼板和公司的关系、⼿机⾥的处理器和整个⼿机的关系
5. 嵌入式系统的技术方向
按照核心处理器与计算架构,把嵌入式系统划分为 MCU、应用处理器、FPGA、DSP 四个方向。
1. MCU 方向
什么是MCU?
答案:
cpp
全称是 Microcontroller Unit ,是将处理器内核、存储器(Flash/RAM)、外设接
口 (UART/SPI/I2C/ADC/Timer等)集成在单⼀芯片上的微型处理器。它强调实时性、低功耗、低 成本,通常运
行裸机程序或轻量级RTOS(实时操作系统)。
典型芯片:
| 厂商 | 典型芯片 |
|---|---|
| ST(意法半导体) | STM32F103/F407/H743 |
| NXP | LPC1768、i.MX RT1062 |
| Microchip | ATmega328P、SAM D21 |
| TI | MSP430G2553、MSP432E401Y |
| Espressif | ESP32、ESP32-C3/S3 |
| 兆易创新 | GD32F103、GD32E230 |
应用领域:
• 消费电子:遥控器、小家电、智能手表等。
• 工业控制:电机驱动、传感器采集等。
• 汽车电子:车窗控制、雨刷控制、BMS系统等。
• 物联网终端:智能灯泡、传感器节点、网关等。
• 通信设备:蓝牙模块、Zigbee节点、4G模块等。
2. 应用处理器方向
什么是应用处理器?
答案:
cpp
应⽤处理器是以⾼性能CPU核⼼为主,集成GPU、NPU、ISP、视频编解码器等多媒体/计算加速模 块的微型处理
器。它通常会运⾏Linux、Android等复杂操作系统,需要外部DDR和eMMC/SD存 储,强调⾼算⼒、丰富多媒体性
能、复杂的软件⽣态。
典型芯片:
| 厂商 | 典型芯片 |
|---|---|
| NXP | i.MX6ULL、i.MX8M Plus |
| 瑞芯微 | RK3568、RK3588 |
| 全志 | H616 |
| 高通 | 骁龙 8 Gen 3 |
| 联发科 | 天玑 9300 |
| 华为海思 | Hi3516DV300 |
| 博通 | BCM2711(树莓派4)、BCM2712(树莓派5) |
应用领域:
• 智能终端:手机、平板、智能手表等。
• 车载信息娱乐:车机、仪表盘、行车记录仪等。
• 工业互联网:边缘计算网关、工业HMI智能屏等。
• 机器人/无人机:视觉导航、SLAM计算等。
• 智慧大屏:广告机、教育⼀体机等,
3. FPGA 方向
什么是FPGA?
cpp
FPGA全称是 Field-Programmable Gate Array (现场可编程⻔阵列),是⼀种内部包含⼤ 量可编程逻辑块
(CLB)、可编程互连线和I/O模块的半导体器件。⽤户通过编写HDL代码( Verilog/VHDL )来定义硬件逻辑,
实现任意数字电路的功能。其核⼼特点是硬件可重构、并⾏执 ⾏、纳秒级延迟,兼具ASIC的性能和软件的灵活
性。
典型芯片:
| 厂商 | 典型芯片 |
|---|---|
| Xilinx(AMD) | Spartan-7、Artix-7、Kintex-7、Zynq-7000、Versal |
| Intel(Altera) | Cyclone IV/V、Stratix 10 |
| Lattice | iCE40、ECP5 |
| 高云半导体 | GW1N、GW2A、GW5A(国产) |
| 安路科技 | EF2、EG4、PH1(国产) |
应用领域:
• 通信/5G:基带信号处理、协处理议加速等。
• 视频图像处理:高速视频缩放、色彩空间转换等。
• 工业控制:多轴伺服控制、高速数据采集等。
• 航空航天:星载计算、机载雷达等。
• AI 推理加速:CNN加速器(搭配CPU使用)。
• 芯片原型验证:ASIC流片前的功能验证。
4. DSP 方向
什么是DSP?
cpp
DSP全称是 Digital Signal Processor (数字信号处理器),是专⻔为数字信号处理算法 优化的处理器,其
硬件架构针对乘累加运算、循环寻址、零开销循环等做了特殊设计,可在单时钟周 期内完成乘加运算。强调实时
性、⾼精度数值计算,适合处理⾳频、视频、通信等连续信号流。
典型芯片:
| 厂商 | 典型芯片 |
|---|---|
| TI | TMS320C6000(C6748/C6657)、TMS320C2000(F28335/F28379D) |
| ADI | ADSP-21489、ADSP-SC589(SHARC+ARM) |
| CEVA | CEVA-XM4/BX1(授权 IP 核) |
| Cadence | Tensilica HiFi 5、Vision P6(授权 IP 核) |
应用领域:
• 音频处理:主动降噪、语音编解码、回声消除等。
• 电机控制:FOC矢量控制(TIC2000系列是经典)等。
注意 :随着技术融合,独立 DSP 芯片的市场已经缩小。越来越多 DSP 能力以 IP 核形式集成到 SoC 中,或者由带有 DSP 扩展指令的 MCU 承担,例如 Cortex-M4F 和 Cortex-M7。
5. 多技术融合
稍微复杂的嵌入式系统往往不会只使用一种计算架构 。一块电路板上可能同时存在 MCU、应用处理器、FPGA 和 DSP,也可能把多种核心直接集成在一颗芯片中。
以下是⼀些典型的融合方式:
| 融合形态 | 示例 |
|---|---|
| MCU + DSP 指令 | ST 的 STM32F4(Cortex-M4F 带 DSP/SIMD 指令) |
| FPGA + MCU | Intel(Altera)的 FPGA(FPGA 中可以添加 NIOS 软核) |
| FPGA + CPU | Xilinx 的 Zynq 系列(FPGA 内置 Cortex-A53 硬核) |
| CPU + MCU | TI 的 AM6254(Cortex-A53 + Cortex-M4) |
| CPU + DSP | TI 的 66AK2G02(Cortex-A15 + C66x(DSP)) |
| MCU + DSP | TI 的 F28388D(Cortex-M4 + C28x(DSP)) |
| CPU + MCU + DSP | 全志 T527(Cortex-A55 + HiFi4 DSP + RISC-V MCU) |
不同处理器各自承担合适的任务:应用处理器负责复杂操作系统和界面,MCU 负责实时控制,FPGA 负责高速并行数据通路,DSP 负责连续信号运算。这正是现代嵌入式系统的发展趋势。
核心结论:
cpp
嵌入式开发是有很多方向的,偏软的,偏硬的,而MCU 开发其实是⼀个偏向软件开发范畴,后面我们所谈的问题,主要集中在MCU ⽅⾯