目录
1、历史生态问题
1.1、计算机发展的底层驱动力
1.2、计算机从军用转化为民用
1.3、摩尔定律
1.4、通用与专业计算机
1.5、为什么叫做嵌入式系统
2:发展生态问题
2.1 arm发展史
1. 起源:Acorn计算机公司(1983-1990)
2. 独立与转型:ARM控股公司成立(1990)
3. 移动时代崛起(1990s-2000s)
4. 智能手机霸主(2010s)
5. 超越移动:多元化扩张
6. 核心成功因素
2.2 Soc
3:STM32
3.1 MCU
3.2 STM32
1、历史生态问题
1.1、计算机发展的底层驱动力
1946年2⽉14号,美国⼈发明第⼀台计算机,埃尼阿克 ENIAC ,由美国宾夕法尼亚⼤学为军⽅研制,旨在计算炮弹弹道轨迹,解决⼆战中新型武器研发的需求,由物理学家约翰·莫奇利与年轻电气⼯程师普雷斯珀·埃克特(时年仅25岁)主导设计。
从⼆战结束之后,世界格局进入美苏冷战阶段,苏联 1991 年解体,但是⽃争⼀直在进⾏。 ⽃争体现在各个方面,政治、军事、文化、科技等。⽽科技发展的原始动力,就是因为有斗争。所以你应该听过军备竞赛和科技竞赛这样的说法。
1.2、计算机从军用转化为民用
- 1.电⼦计算机(ENIAC):为了算弹道、破密码⽽诞⽣。第⼀笔资⾦来⾃美国陆军军械部,第⼀个任 务是给氢弹研制做计算。
- 2. 互联⽹(ARPANET):为了在核战争下仍能分散指挥⽽建。主导者是美国国防部⾼级研究计划局 (DARPA),最初的节点连接到军⽅和⼤学实验室。
- 3. 全球定位系统(GPS):为了让海陆空三军拥有实时、全天候的定位导航能⼒。由美国国防部出资、运营,早期严格保密,只供军⽅使⽤。
- 4. 喷⽓式客机(如波⾳707):技术源头是B-47轰炸机和KC-135加油机。没有军⽅的订单和巨额研发投⼊,跨洋⺠航时代的到来会推迟很多年。
- 5. 集成电路/微处理器:早期⼤规模订单和严苛的可靠性要求,⼏乎全来⾃导弹制导(如“⺠兵”导弹)和航天计算机(如阿波罗导航计算机)。军⽅包销式的采购,让半导体公司敢于⼤规模投⼊⽣产.
- 最后技术会趋同
- 比拼核心比的是谁能⼀直领先
1.3、摩尔定律
摩尔定律是半导体行业的一个著名观察和预测,由英特尔联合创始人戈登·摩尔在1965年提出。其核心内容是:集成电路上可容纳的晶体管数量,大约每两年(后修正为每18-24个月)便会增加一倍,同时性能提升一倍,而成本则下降一半。
嵌入式的关键就在于摩尔定律,只有当规模绝对小了之后我们的计算机小型化提供可能
1.4、通用与专业计算机
- 我们有听歌/看电影/上⽹/打游戏/写⽂档/写代码等等需求,⽽且要求⽤⼀台计算机全部解决,于是就有了我们⼿⾥⾯的电脑也叫做个⼈PC,这类电脑就是通⽤计算机的代表。
- 国家需要进⾏科学研究(如可控核聚变装置的控制与数据采集)、天⽓预报的超级模拟、基因序列分析、密码破译等超⼤规模计算任务时,单台个⼈电脑的性能远远不够。于是,我们把成千上万个⾼性能计算单元(CPU、GPU等)通过⾼速网络连接起来,组成⼀台巨型计算机——也就是超级计算机
- 电视要被单独控制,冰箱/洗⾐机/⽆⼈机/空调/微波炉/汽⻋/机械臂……我们并不需要它们像电脑⼀样能装各种软件、上⽹或打游戏,只需要它们稳定、⾼效、低功耗地完成某⼀个(或少数⼏个)特定的任务。于是,在这些设备内部,都藏着⼀颗专⻔为它们设计的“⼩电脑”——也就是嵌⼊式计算机。它们看不⻅⿏标和桌⾯,但能在按下按钮的瞬间做出响应。这类设备,就是专⽤计算机的代表
我们的嵌入式也是专用计算机的代表
1.5、为什么叫做嵌入式系统
⼀个计算机系统被“嵌入”到某个更大的设备或系统中,成为其不可分割的⼀部分,⽽不是作为⼀个独⽴的通⽤计算机存在。
- 它不是独⽴产品: 没有⼈会单独“购买⼀个嵌⼊式系统”。你买的是智能空调、⽆⼈机、⼼率监测⼿环。嵌⼊式系统是这些产品的“⼤脑”或“控制器”,是产品实现智能化的内在组件。
- 它藏⾝在内部: 从你家的洗⾐机、微波炉,到汽⻋的刹⻋系统、航空发动机,再到智能⼿表、医疗监护仪……这些设备的内部都有⼀块(或多块)小的芯⽚和电路板。这个计算核⼼就是被“嵌⼊”在设备外壳之内的,⽤⼾通常看不⻅也摸不着它。
- 功能单⼀且固定: ⼀台微波炉⾥的嵌⼊式系统,它的全部使命就是控制⾯板、定时、设定⽕⼒、驱动磁控管。它永远不会在某个时刻变成⼀个MP3播放器。⽽你的电脑可以同时处理⽂档、看视频、上⽹。
- 软硬件⾼度定制: 为了完成这个特定任务,⼯程师会精确地设计硬件(需要⽤到哪些传感器,需要⼏个按键,要不要屏幕),并编写恰好能完成这个任务的软件。多余的硬件和软件都不会有,因为这关系到成本和可靠性
- 实时性: 当汽⻋刹⻋踏板被踩下时,嵌⼊式系统必须在⼏毫秒内作出反应。这种对“时限”的严格要求也是嵌⼊式的关键特征
- 资源受限: 为了成本和功耗,嵌⼊式系统的运算能⼒、存储空间(⽐如空调中内置的计算机, 可能只有⼏KB到⼏百KB的内存,⽽你的电脑是⼏GB甚⾄⼏⼗GB)都⾮常有限
- 低功耗与低成本: 为了能电池供电⽤很久(⽐如智能⼿表),或者让产品在市场上更具竞争⼒,功耗和成本必须压到最低
2:发展生态问题
2.1 arm发展史
ARM(Advanced RISC Machines)的发展史是一部从学术研究到商业帝国,再到移动计算霸主的传奇历程。
1. 起源:Acorn计算机公司(1983-1990)
ARM的故事始于英国的Acorn计算机公司。1983年,Acorn为BBC Micro计算机寻找新的处理器,但当时的处理器(如6502、Z80)性能不足,而更强大的处理器(如摩托罗拉68000)又太贵。于是Acorn决定自己设计一款处理器。
1985年,Acorn的工程师团队(包括Sophie Wilson和Steve Furber)开发出了第一代ARM处理器——ARM1。它的设计理念非常超前:
- 精简指令集(RISC):与当时主流的复杂指令集(CISC)不同,ARM采用精简指令集,每条指令执行时间固定,硬件设计更简单
- 低功耗:ARM1的功耗只有当时其他处理器的1/10
- 低成本:晶体管数量少,芯片面积小
ARM1最初用于Acorn的Archimedes个人电脑,但市场反响平平。
2. 独立与转型:ARM控股公司成立(1990)
1990年,Acorn与苹果公司、VLSI Technology合资成立了Advanced RISC Machines Ltd.(后更名为ARM Holdings)。这次转型的关键决策是:
- 放弃制造,专注设计:ARM不再自己生产芯片,而是授权IP(知识产权)给其他公司
- 商业模式创新:采用"授权费+版税"模式,客户支付一次性授权费获得设计,再按芯片销量支付版税
苹果的Newton PDA(1993年)是ARM早期的重要客户,虽然Newton商业上失败,但证明了ARM在移动设备上的潜力。
3. 移动时代崛起(1990s-2000s)
1990年代后期,ARM迎来了转折点:
- 1997年:德州仪器(TI)获得ARM授权,用于数字信号处理器
- 1998年:ARM7TDMI成为经典,被诺基亚、爱立信等手机厂商采用
- 2001年:ARMv6架构发布,支持Thumb-2指令集,进一步优化代码密度
- 2007年:苹果iPhone发布,使用三星制造的ARM处理器,开启了智能手机时代
4. 智能手机霸主(2010s)
2010年代,ARM统治了移动市场:
- 2011年:ARMv8架构发布,首次支持64位计算
- 2012年:苹果A6芯片首次使用自定义ARM核心,性能大幅提升
- 2016年:ARM被软银以320亿美元收购
- 2020年:苹果宣布Mac电脑将从Intel x86转向自研的ARM芯片(Apple Silicon)
5. 超越移动:多元化扩张
如今,ARM的版图早已超越手机:
- 物联网(IoT):Cortex-M系列主导微控制器市场
- 汽车电子:Cortex-R系列用于实时控制,Cortex-A系列用于信息娱乐系统
- 服务器与数据中心:亚马逊Graviton、Ampere Altra等ARM服务器芯片挑战x86
- 高性能计算:富士通的ARM芯片"富岳"曾登顶超级计算机排行榜
6. 核心成功因素
ARM成功的背后有几个关键因素:
- 能效比:每瓦性能远超x86,适合电池供电设备
- 灵活性:客户可以购买标准核心,也可以深度定制
- 生态系统:建立了庞大的软件和工具链生态
- 商业模式:IP授权让更多公司能参与创新
从BBC Micro的一个备选方案,到全球95%智能手机的"心脏",再到挑战Intel的服务器霸主地位,ARM的发展史完美诠释了"小而美"的设计哲学如何改变世界。对于嵌入式开发者而言,理解ARM不仅是学习一种架构,更是理解现代计算产业演进的关键脉络。
- ARM只设计 CPU 核心IP,不制造 CPU 。然后通过 IP 授权和收取版权费用盈利
- 造成这种经营⽅式,是当时的商业竞争下的产物
- “IP”是 Intellectual Property (知识产权) 的缩写,是⼀个法律概念,站在ARM 的⻆度,ARM 卖的并非实体芯片,而是受法律保护的芯片“设计方法”的使用权,即其知识产权的使⽤权。
- 芯片行业之所以用“IP”这个叫法,是为了突出“设计”与“实物产品”的本质区别:买芯片得到的是物理实体;买IP核得到的是受法律保护的技术设计⽅案。它不是有形商品,而是⼀份“设计方案”的使用权,所以直观地称为“知识产权核”,简称“IP核
2.2 Soc
SoC 介绍:
SoC 是 System on a Chip 的缩写,中文叫片上系统。就是把⼀个完整的电子系统,集成到单个芯片上。
- 你可以把传统的电脑主板理解成⼀个城市,各个功能部件都是独⽴的:
- CPU(处理器) = 市政府(⼤脑决策)
- 内存 = 图书馆(临时存数据)
- 显卡 = 美术馆(处理图像)
- 声卡 = ⾳乐厅(处理声⾳)
- ⽹卡 = 邮局(负责通信)
- 各个芯⽚之间需要通过电路板上的"⾼速公路"(总线)来连接,距离远、速度慢、功耗⼤。
- ⽽ SoC 就是把这个城市的所有关键部⻔,全部塞进同⼀栋⼤楼⾥: 市政府、图书馆、美术馆、⾳乐厅、邮局……全部在⼀栋楼⾥,内部有专⽤电梯直接连通。
所以你得到了⼀栋功能完整的"超级⼤楼"——这就是 SoC
CPU vs SoC :
CPU 是⼀个负责通用计算的处理器核心。 SoC 是⼀颗芯片,它包含了 CPU,以及 GPU、内存控制器、NPU、ISP、DSP、音频处理器、各类接口控制器(USB/PCIe/Wi-Fi/蓝⽛基带)等,构成⼀个“完整的微型计算机系统”。
CPU是SoC的⼀部分,SoC = CPU +很多其他功能模块。
集成在⼀起就意味着:电路板走线短,那么整个SoC就具有:电池续航更长、更低的发热,高带宽与低延迟、节省空间与成本、更高的可靠性等多种好处这也⽐较符合专用领域的需求。PC 使用CPU,主流是 x86(Intel/AMD),收机/嵌入式主流是 ARM 架构的 SoC
细节:
芯片不仅仅指的是CPU这类逻辑类芯片,还有存储类芯片,接⼝类芯片,模拟类芯片,包括各种传感器等都属于芯片范畴。
3:STM32
3.1 MCU
MCU是Microcontroller Unit(微控制单元)的缩写,中文常称为单⽚机(Single Chip Microcomputer )
从功能上看:MCU是把处理器 (CPU核⼼)、存储器(Flash、RAM)、以及各种输⼊输出接口(定时器、ADC、串⼝等) 集成在⼀起,形成⼀个芯片。
从制造上看:在极纯的硅片上,经过光刻、刻蚀、沉积、离⼦注入等上百道工序,把 CPU、Flash、RAM、ADC、定时器、串⼝等模块的晶体管⼀层层堆叠起来,再把它们内部连通,最终形成⼀个完整的芯⽚
那么, MCU 和之前提到的 SoC 是什么关系?
简单来说,MCU(微控制器)可以看作是⼀种功能特定、高度集成的“SoC”。SoC 是⼀个更宽泛的概念,而MCU 是这个概念下非常经典的⼀个分⽀。
3.2 STM32
- 完整的生态系统:STM32CubeMX(图形化配置工具)、STM32CubeIDE(集成开发环境)、HAL/LL 库、丰富的中间件(RTOS、文件系统、网络协议栈等)
- 丰富的产品线:从超低功耗到高性能,从基础型到无线连接型,覆盖几乎所有应用场景
- ARM Cortex-M 内核:基于 ARM 架构,享有庞大的软件生态和工具链支持
- 出色的性价比:在性能、功耗、价格之间取得了良好平衡
- 强大的社区支持:全球庞大的开发者社区,丰富的学习资源和开源项目
- STM32F 系列- 基础型,最早推出的系列,应用最广泛
- STM32L 系列- 低功耗型,专为电池供电设备设计
- STM32H 系列- 高性能型,面向需要高算力的应用
- STM32G 系列- 通用型,平衡性能与成本
- STM32W 系列- 无线型,集成无线通信功能
- STM32MP 系列- 微处理器(MPU),运行 Linux 等复杂操作系统
- 行业标准:STM32 已成为嵌入式开发的行业标准之一,掌握 STM32 等于掌握了嵌入式开发的核心技能
- 就业优势:大量企业使用 STM32 进行产品开发,掌握 STM32 能显著提升就业竞争力
- 学习曲线平缓:完善的工具链和丰富的学习资源降低了入门门槛
- 知识可迁移:掌握了 STM32 后,学习其他 ARM Cortex-M 芯片会变得非常容易
- 恩智浦(NXP)的 LPC 系列
- 德州仪器(TI)的 MSP430 系列
- 国内兆易创新(GD)的 GD32 系列
- 乐鑫(Espressif) 的 ESP32 系列
- 生态完善:从芯片到开发板,从工具链到教程,STM32 拥有最完整的生态系统
- 社区活跃:遇到问题容易找到解决方案,有大量的中文资料和社区支持
- 性价比高:开发板价格亲民,从几十元到几百元不等,适合学生和初学者
- 应用广泛:工业控制、智能家居、消费电子、汽车电子等领域都有广泛应用
- 技术延续性:STM32 的技术栈可以平滑过渡到其他 ARM 平台,甚至 Linux 嵌入式开发
- 硬件选型:根据项目需求选择合适的 STM32 型号
- 环境搭建:安装 STM32CubeIDE 或 Keil MDK 等开发工具
- 工程配置:使用 STM32CubeMX 进行引脚配置、时钟配置、外设初始化
- 代码编写:使用 HAL 库或 LL 库进行应用程序开发
- 调试下载:通过 ST-Link 或 J-Link 进行程序下载和调试
- 测试验证:功能测试、性能测试、稳定性测试