嵌入式历史与生态

嵌入式历史与生态

    1. 嵌入式历史与生态核心逻辑
    • 1.1 计算机发展的底层驱动力
    • 1.2 军转民
    • 1.3 摩尔定律
    • 1.4 通用与专用计算机
    • 1.5 嵌入式系统为什么叫"嵌入式"
    1. 认识计算机
    • 2.1 常见计算机形态
    • 2.2 单片机 vs 嵌入式系统
    • 2.3 嵌入式系统技术方向
    1. 发展生态
    • 3.1 需求拉动产量
    • 3.2 ARM发展史与商业模式
    • 3.3 SoC 片上系统
    • 3.4 ARM版图扩张
    • 3.5 意法半导体(ST)
    • 3.6 MCU
    • 3.7 STM32
    • 3.8 MCU选型:STM32F103ZET6
    • 3.9 MCU产品化
    1. STM32 文档与社区生态
    • 4.1 文档化逻辑
    • 4.2 核心文档
    • 4.3 常见文档分类
    1. STM32 开发工具链
    • 5.1 裸机开发
    • 5.2 STM32工具链选择
    • 5.3 推荐工具链各工具作用
    • 5.4 HAL库入门说明
    1. 扩展:其他常见单片机(了解)

1. 嵌入式历史与生态核心逻辑

1.1 计算机发展的底层驱动力

从二战结束之后,世界格局进入美苏冷战阶段,苏联1991 年解体,但是斗争一直在进行。

斗争体现在各个方面,政治、军事、文化、科技等。而科技发展的原始动力,就是因为有斗争。所以你应该听过军备竞赛和科技竞赛这样的说法。

计算机就是在这样的背景下诞生和发展的。

核心结论:计算机发展的底层驱动力是国家间斗争。

1.2 军转民

早期新科技多由国家主导,优先用于军工 。

为保持技术领先,必须让科技发展可持续,因此需要"军转民 ",增加政府收入增长点。

典型军转民产品:互联网、GPS/北斗、微波炉、计算机等。

1.3 摩尔定律

集成电路上可容纳的晶体管数量 ,约每18-24个月翻一番 。

意义:为计算机小型化提供了可能。

1.4 通用与专用计算机

计算机按应用场景可分为三类:

类型 特点 典型代表
通用计算机 一台机器能干多种事,功能由软件决定 PC、笔记本
超级计算机 解决人类级大规模计算难题 超算中心
专用计算机(嵌入式系统) 为特定功能而生,强调低功耗、实时性、稳定性 空调、冰箱、无人机、汽车ECU等

核心结论:嵌入式系统诞生的目的是低成本解决特定领域问题。

1.5 嵌入式系统为什么叫"嵌入式"

嵌入式系统是被"嵌入"到更大设备或系统中的专用计算机,不是独立通用计算机。

特点:

不是独立产品,而是产品的"大脑"或"控制器"

藏在设备内部,用户通常看不到

功能单一且固定,软硬件高度定制

实时性强:必须在规定时间内响应

资源受限:内存可能只有几KB到几百KB

低功耗、低成本

核心结论:通用计算机是"站出来让你用的",嵌入式是"蹲在里面替你干的"。

2. 认识计算机

2.1 常见计算机形态

个⼈电脑PC(台式机/笔记本):通用计算机,生产力工具。

手机/平板:算力大幅提升,但受软件生态限制,还不能完全替代PC生产力。

服务器:高性能通用计算机,C/S或B/S架构的核心,提供高算力与存储。

单片机(MCU):微型控制单元,性能低、成本低,针对特定场景解决特定问题。

2.2 单片机 vs 嵌入式系统

单片机(MCU):是构建嵌入式系统的核心硬件芯片。

嵌入式系统:是完整概念系统,包含MCU、电路、传感器、软件等。

类比:单片机(MUC)是"老板",嵌入式系统是"公司";处理器与手机的关系类似。

2.3 嵌入式系统技术方向

嵌入式系统按核心处理器/计算架构可分为4个方向:

方向 核心特点 典型应用
MCU 实时、低功耗、低成本,裸机或RTOS 家电、工业控制、汽车电子、物联网终端
应用处理器 高性能,运行Linux/Android,强调高算力 手机、平板、车机、边缘计算网关
FPGA 硬件可重构,并行执行,纳秒级延迟 通信、视频处理、工业控制、AI加速
DSP 数字信号处理优化,单周期乘加运算 音频处理、电机控制、通信信号处理

多技术融合趋势: 实际复杂系统常将MCU、应用处理器、FPGA、DSP组合使用,如 FPGA+CPU、MCU+DSP 等。

核心结论:MCU开发偏软件方向,后续学习聚焦MCU。

3. 发展生态

3.1 需求拉动产量

Intel 芯⽚+ PC个人电脑:芯片依附于终端产品,PC起量带动Intel发展,形成"Wintel"联盟。

ARM芯片 + 手机:ARM以低功耗优势切入,智能手机时代出货量超越Intel。

核心结论:新需求产生新设备,新设备拉动芯片需求。

3.2 ARM发展史与商业模式

ARM不制造芯片,只设计CPU IP核 ,通过IP授权和收取版税盈利。

这种模式让ARM成为所有芯片公司的"朋友",最终成为基础平台。

什么是IP核?

IP = Intellectual Property,知识产权核。ARM卖的不是实体芯片,而是受法律保护的芯片设计使用权。

3.3 SoC 片上系统

SoC(System on a Chip):将CPU、GPU、内存控制器、NPU、ISP、DSP、接口控制器等集成到单颗芯片上。

⼿机体积⼩,电池容量受限,对性能和功耗极度敏感,那么必须把所有核⼼芯⽚( CPU、GPU 、内存控制器等)从"主板上分散"变成"⼀个硅⽚上集成",这就是 SoC 的本质。

集成SoC本质就是在追求:⽤⼾⽤得爽,⼚商造得省

CPU是SoC的一部分,SoC = CPU + 其他功能模块。

集成好处:功耗低、体积小、带宽高、成本低、可靠性高。

手机/嵌入式主流是ARM架构SoC,PC主流是x86 CPU。

注意:芯⽚不仅仅指的是 CPU 这类逻辑类芯⽚,还有存储类芯⽚,接⼝类芯⽚,模拟类芯⽚,包括各种传感器等都属于芯⽚范畴。

3.4 ARM版图扩张

ARM 将业务版图扩张到了以下四个关键领域:

移动计算(基本盘),汽⻋电⼦(新增⻓极),服务器与数据中⼼(⾼端突破),AIoT / 物联⽹(⼴阔蓝海)。

为了满⾜不同领域,不同需求的场景, ARM 便有了不同种类的 CPU IP 核的设计⽅案。

ARM为不同应用场景提供不同CPU IP核:

系列 定位 应用场景
Cortex-X 极致性能 高性能旗舰设备
Cortex-A 应用处理器 运行复杂OS(Linux/Android)
Cortex-R 实时处理器 对响应时间严格要求的系统
Cortex-M 微控制器 小、低功耗、资源受限设备

核心结论:未来主学Cortex-M系列。

访问armchina.com (安谋科技(Arm China)的官网页面)

3.5 意法半导体(ST)

ST从ARM购买Cortex核心IP,集成设计并封装为标准化MCU(最著名的是STM32系列),卖给终端公司。

ST做得早、市场占有率高、生态完整,后来者多选择与STM32兼容。

核心结论:学习MCU从STM32开始是主流选择。

3.6 MCU

MCU = Microcontroller Unit,微控制单元,又称单片机 。

内部集成:CPU内核、Flash/RAM、定时器、ADC、串口等。

MCU与SoC的关系:MCU可以看作一种功能特定、高度集成的SoC。SoC 是⼀个更宽泛的概念,⽽ MCU 是这个概念下⾮常经典的⼀个分⽀。

为什么MCU会存在?

物理世界中有海量控制任务(家电、电机、传感器等),要求极低的成本、功耗和硬实时响应。通用处理器无法低成本兼顾这些,只有专用MCU 才能成为最优解。

核心结论:MCU是为低成本实时控制而生的专用计算机。

3.7 STM32

STM32 = ST + M(微控制器)+ 32(32位),意法半导体生产的32位MCU系列总称 。 MCU 就相当于 "⼿机",那么 STM32 就相当于 "华为⼿机"

STM32 不是⼀个单⼀的芯⽚,⽽是⼀个庞⼤的家族。它的子系列定位:

子系列 定位
F Foundation,基础/通用
G General-purpose,主流高性价比
L Low-power,低功耗
U Ultra-low-power,超低功耗
H High-performance,高性能

其他还有无线系列WB/WL、边缘AI系列N6、MPU混合系列MP1/MP2。

学习一款STM32后,其他型号开发大同小异。

3.8 MCU选型:STM32F103ZET6

STM32F1系列2007年发布,终结了8位/16位MCU的统治地位。

STM32F103ZET6 的 CPU 内核是:ARM Cortex-M3 。

它属于 STM32F1 系列 ,最高主频 72 MHz。

选择STM32F103ZET6的原因?

最主流,学习资料最多

引脚多,一块板子能解决几乎所有的入门问题

访问www.stmcu.com.cn (意法半导体(ST)中文官网)可查看全部STM32/STM8产品以及其子系列。

3.9 MCU产品化

终端产品公司基于MCU设计产品 主板:原理设计 → PCB设计 → 打样焊接调试 → 量产。

培训机构/开发板公司也基于MCU制作教学板 。

CPU、MCU、板子三者的关系?

ARM公司提供CPU IP核 → ST等厂商制成MCU → 终端/机构设计成板子/产品。(CPU在MCU内部,MCU焊接在板子上)

访问嘉⽴创官⽹:**https://www.jlc.com/\*\*或者

⽴创商城官⽹:https://www.szlcsc.com/

4. STM32 文档与社区生态

4.1 文档化逻辑

产业分工产生知识壁垒,文档打破知识壁垒。

阅读文档是嵌入式工程师的必然学习过程。

4.2 核心文档

提供方 文档 用途
ARM 技术参考手册 偏硬件设计,普通开发者通常不直接看
MCU厂商 数据手册 芯片体检表,引脚/电压/地址,硬件工程师画板
MCU厂商 参考手册 操作说明书,寄存器位含义,软件工程师写驱动
板级设计公司 原理图 MCU引脚与外设连接关系,开发参考

我们最关心文档:STM32《参考手册》 + 《嵌入式板原理图》。

4.3 常见文档分类

文档类型 核心内容 主要使用者
数据手册 Datasheet 物理规格、引脚、电气特性、封装 硬件工程师选型/画原理图
参考手册 Reference Manual 外设功能、寄存器地址与位含义 软件工程师写驱动
勘误手册 Errata Sheet 芯片已知问题与规避方案 调试时查阅
编程手册 Programming Manual 内部Flash操作指南 底层工程师/IAP(在应用内更新程序)/存参数
应用笔记 Application Note 特定主题实战教程 实现特定功能时查阅
用户手册 User Manual 开发板操作指南或库函数API 使用开发板/库时查阅
内核文档(ARM) Cortex-M内核编程模型(NVIC/SysTick等) 操作CPU内核寄存器时查阅

5. STM32 开发工具链

5.1 裸机开发

裸机开发:在没有操作系统支持下,直接在MCU上编写程序。

STM32开发过程

5.2 STM32工具链选择

常见组合:

Keil MDK + 标准外设库(SPL)------ 官方已弃用,不建议。

Keil MDK + STM32CubeMX + HAL库 ------ Keil编写代码体验差。

C语言 + Keil MDK + VSCode + STM32CubeMX + HAL库 ------ 企业常用Keil,VSCode补足编辑体验,推荐采用。

STM32CubeIDE + HAL库 ------ 集成化太高,不利于学习,暂不建议。

IAR + STM32CubeMX + HAL库 ------ 无社区版、授权贵,不适合新手。

5.3 推荐工具链各工具作用

工具 公司 主要作用
Keil MDK ARM 编译、链接、调试,生成机器码
VSCode 微软 现代化代码编辑器,通过插件扩展开发环境
STM32CubeMX ST 图形化配置引脚、时钟,自动生成初始化代码
HAL库 ST 硬件抽象层API,屏蔽寄存器操作,提升可移植性

5.4 HAL库入门说明

标准库已淘汰,手写配置仅出现在维护老项目中。

STM32CubeMX + HAL库自动生成配置代码 (非业务代码),提高开发效率。

学习方式:通过阅读HAL库生成的源码理解配置,避免图形化界面导致理解成本提高。

6. 扩展:其他常见单片机(了解)

  1. 51单片机(Intel 8051架构):经典8位MCU,如STC89C52;曾统治市场20年,现多用于低端遥控器、温度计等。
  2. MSP430:TI 16位MCU,主打低功耗,已基本退出主流。
  3. GD32:兆易创新,兼容STM32,成本低20%-30%,学会STM32自然就会。
  4. ESP32:乐鑫科技,内置Wi-Fi/蓝牙,适合物联网,支持ESP-IDF/Arduino/MicroPython等,市场份额增长快。
  5. 树莓派:卡片计算机,运行Linux/Android,DIY常用,企业级开发受成本功耗限制。

写在最后:嵌入式系统本质上是一种专用计算机,其核心特征在于实时性、资源受限以及低功耗和低成本设计。ARM公司通过IP授权模式提供Cortex-M等处理器内核,而意法半导体(ST)基于这些内核设计并制造出STM32系列MCU,成为嵌入式开发的主流选择。因此,学习嵌入式的一条清晰主线是:先建立历史与生态的宏观认知,理解计算机的分类与定位,再聚焦于MCU及STM32的具体知识,进而学会查阅参考手册和原理图,最后掌握完整的开发工具链使用。

在后续的学习中,我们将以STM32F103ZET6为核心硬件,结合《参考手册》和《原理图》进行开发,工具链采用Keil MDK + VSCode + STM32CubeMX + HAL库的组合。如果小伙伴们有不懂的地方,欢迎单独私信或在评论区留言,我们一起交流进步💪

相关推荐
甜甜的大香瓜3 小时前
【MT32F006】MT32F006之Stimer延时(轮询)
单片机
辰哥单片机设计3 小时前
MP3播放器模块(STM32)
stm32·单片机·嵌入式硬件
Zw-awa3 小时前
传感器模块都在交出什么:从模拟电压到数字协议
stm32
Brilliantwxx3 小时前
【STM32】 工程实战 WS2812B 全彩 LED 灯控制(DMA 驱动)
stm32·单片机·嵌入式硬件·mcu
科芯创展4 小时前
10~120V宽压1.5A降压DC-DC XZ1830技术特性与应用解析
单片机
逐步前行4 小时前
ESP32-S3-PCNT(脉冲计数控制器)
单片机·嵌入式硬件
咖丨喱5 小时前
【中断与收包】
单片机·嵌入式硬件
youshi66685 小时前
平衡车——PID算法优化
stm32·单片机·嵌入式硬件·算法·pid·平衡车
comyccccc6 小时前
高效降压电路布局与铺铜优化技巧学习笔记
单片机·嵌入式硬件