被裁20240927 --- 嵌入式硬件开发 前篇
他捧着一只碗吃过百家的饭
- 1. 处理器芯片
- 1.1 处理器芯片制造商
- 一、 英特尔(Intel)
- 二、 三星(SAMSUNG)
- 三、 高通(Qualcomm)
- 四、 英伟达(NVIDIA)
- 五、 AMD(超威半导体)
- 六、 联发科技(Mediatek)
- 七、 海思(Hisilicon)
- 八、 其他
- 1.2 嵌入式处理器芯片制造商
- 一、国内制造商
- 二、国外制造商
- 1.3 与意法半导体对标的国产芯片制造商
- 一、中芯国际
- 二、华为海思
- 三、紫光国微
- 四、北方华创
- 五、长电科技
- 2. MCU 和 MPC
- 3. 处理器架构
- 一、x86架构
- 二、ARM架构
- 三、MIPS架构
- 四、PowerPC架构
- 五、Alpha架构
- 六、SPARC架构
- 七、其他架构
- 4. 处理器指令集
- 一、主要分类
- 二、常见指令集
- 5.内核、架构、指令集 的关系
- 一、内核与架构的关系
- 二、架构与指令集的关系
- 三、内核与指令集的关系
- 6. ARM架构的CPU
- 一、Cortex系列
- 二、其他ARM架构的CPU
- 三、基于ARM架构的定制CPU
- 7. STM32
- 一、主要特点
- 二、应用领域
- 三、性能指标
- 四、命名规则
- 五、型号性能梯度
- 六、开发流程
- 参考文献
1. 处理器芯片
注意:ARM 公司只提RISC技术的芯片设计开发服务和技术授权,不直接制造芯片!!
1.1 处理器芯片制造商
一、 英特尔(Intel)
- 全球最大的半导体芯片制造商之一,其CPU品牌享誉全球,成为计算机行业的标杆。
- 产品广泛应用于各个领域,从台式电脑到笔记本电脑,再到智能手机和平板电脑。
- 推出的 酷睿 系列、奔腾 系列及 至强 系列在全球范围内赢得了广泛赞誉。
二、 三星(SAMSUNG)
- 源于韩国的全球知名企业,业务范围广泛,包括电子、金融、机械、化学等多个领域。
- CPU品牌Exynos系列被广泛应用在三星的各类电子产品中,如智能手机、平板电脑等。
- Exynos 系列以高性能、低功耗以及优秀的图形处理能力而备受好评。
三、 高通(Qualcomm)
- 全球领先的无线通信技术公司,也是全球最大的无线半导体供应商之一。
- CPU产品在移动领域具有极高的市场份额,骁龙(Snapdragon)系列处理器以出色的性能和功耗控制成为众多智能手机和平板电脑的首选。
四、 英伟达(NVIDIA)
- 全球知名的技术公司,在显卡(图形处理器GPU)领域实力强大,CPU产品同样不容小觑。
- Tegra 系列处理器在移动设备和车载系统中表现出色,Grace CPU系列则专为大规模人工智能和高性能计算应用而设计。
五、 AMD(超威半导体)
- CPU市场的佼佼者,以高性价比和出色的多核处理能力而受到用户的喜爱。
- CPU产品凭借卓越的性能和不断创新的技术,与英特尔并驾齐驱。
- 锐龙(Ryzen)系列处理器在桌面和笔记本市场上都有着不俗的表现。
六、 联发科技(Mediatek)
- 全球知名的IC设计厂商,CPU产品在移动设备和消费电子领域具有广泛的应用。
- 处理器以高性能和低功耗而受到用户的青睐,特别是在智能手机和平板电脑等移动设备中。
- “天玑”系列处理器已成为行业内的佼佼者。
七、 海思(Hisilicon)
- 华为旗下专注于芯片研发的高科技企业。
- CPU产品在消费电子、通信和光器件等领域具有广泛的应用。
- 麒麟 系列和 鲲鹏 系列分别在移动端和服务器端展现出了卓越的性能。
八、 其他
- 海力士(Hynix):在全球半导体存储器市场中占据重要地位的韩国企业,专注于DRAM和NAND闪存等存储解决方案的生产,虽然不直接涉足CPU生产,但其产品在提升CPU性能方面发挥着不可或缺的作用。
- 美光(Micron):全球知名的半导体记忆产品生产商,主要专注于DRAM和NAND闪存等存储器的研发与生产,为CPU提供了快速、可靠的数据存取服务。
- 博通(Broadcom):全球领先的半导体和基础设施软件解决方案提供商,专注于设计、开发和供应各种半导体器件和软件解决方案,虽然不直接生产CPU,但其有线通信芯片被广泛应用于智能手机、电视等设备中。
这些制造商在处理器芯片领域各有特色,为用户提供了多样化的选择。同时,随着技术的不断进步和市场的拓展,新的制造商和新的产品也在不断涌现。
1.2 嵌入式处理器芯片制造商
一、国内制造商
-
海思(Hisilicon)
- 公司背景:华为旗下的半导体公司。
- 产品应用:在嵌入式处理器、芯片设计等领域具有强大实力,麒麟系列处理器广泛应用于华为智能手机和平板电脑中。
-
中兴微电子
- 公司背景:中兴通讯的子公司。
- 产品应用:专注于通信芯片的研发,包括嵌入式通信处理器等,为中兴通讯的通信设备提供核心技术支持。
-
联发科(MediaTek)
- 公司背景:全球知名的IC设计厂商。
- 产品应用:Helio系列移动处理器和Dimensity系列5G移动处理器在智能手机和平板电脑市场占据重要地位,同时提供无线连接解决方案和IoT平台等嵌入式技术。
-
紫光国微
- 公司背景:紫光集团旗下的半导体企业。
- 产品应用:专注于智能安全芯片、特种集成电路等产品的研发,为嵌入式系统提供安全可靠的解决方案。
-
兆易创新
- 公司背景:专注于存储器及相关芯片的半导体公司。
- 产品应用:NOR Flash、NAND Flash及MCU等产品广泛应用于嵌入式系统中。
-
平头哥半导体
- 公司背景:阿里巴巴旗下的半导体公司。
- 产品应用:玄铁系列处理器基于RISC-V架构,为嵌入式设备提供高性能计算解决方案。
-
地平线机器人
- 公司背景:专注于边缘AI芯片的研发。
- 产品应用:征程系列AI芯片广泛应用于车载辅助驾驶系统、智能摄像头等嵌入式设备中。
-
寒武纪
- 产品应用:在嵌入式AI芯片领域有突出表现。
-
龙芯中科
- 产品应用:专注于研发和生产嵌入式处理器芯片。
-
长江存储
- 产品应用:在嵌入式存储芯片领域有一定的市场份额。
二、国外制造商
-
恩智浦半导体(NXP Semiconductors)
- 产品应用:提供基于ARM Cortex-M系列的高性能微控制器,适用于工业和汽车应用等。
-
意法半导体(STMicroelectronics,简称ST)
- 产品应用:提供多种微控制器(MCUs),如STM32F1系列、STM32F4系列等,广泛应用于嵌入式系统中。
-
德州仪器(Texas Instruments,简称TI)
- 产品应用:提供MSP430系列低功耗微控制器、CC系列集成无线连接功能的微控制器等,非常适合物联网(IoT)应用。
-
英特尔(Intel)
- 产品应用:提供高性能处理器,如Intel Core i3/i5/i7/i9系列和Intel Xeon系列等,虽然这些处理器更多用于桌面、笔记本电脑和服务器等领域,但英特尔也涉足嵌入式领域,提供针对嵌入式系统的处理器解决方案。
-
AMD
- 产品应用:提供多种嵌入式处理器解决方案,适用于各种嵌入式应用场景。
-
英伟达(NVIDIA)
- 产品应用:虽然英伟达以图形处理器(GPU)著称,但也在嵌入式领域推出了相应的解决方案,如用于车载娱乐系统和自动驾驶系统的处理器等。
-
ARM
- 产品应用:虽然ARM本身不直接制造芯片,但它提供了广泛的处理器架构和IP,供其他芯片制造商使用和开发嵌入式处理器芯片。
这些制造商在嵌入式处理器芯片领域拥有强大的研发实力和市场份额,为用户提供了多样化的选择和优质的服务。
1.3 与意法半导体对标的国产芯片制造商
与意法半导体(STMicroelectronics)对标的优秀国产芯片制造商主要包括以下几家:
一、中芯国际
- 公司简介:中芯国际集成电路制造有限公司是世界领先的集成电路芯片代工企业之一,同时也是国内规模最大、技术最先进的集成电路芯片制造企业。
- 业务范畴:中芯国际主要根据客户需求制造集成电路芯片,产品广泛应用于高性能计算、人工智能、服务器、基站以及汽车电子等多个领域。
- 技术实力:中芯国际具备先进的制造工艺和技术实力,能够制造从350纳米到14纳米的各种类型芯片,包括高端逻辑芯片、电源管理芯片、射频芯片等。
二、华为海思
- 公司简介:海思半导体有限公司(Hisilicon)是华为旗下的半导体设计公司,专注于集成电路的设计与解决方案。
- 产品应用:海思的产品覆盖无线网络、固定网络、数字媒体等领域的芯片及解决方案,成功应用在全球100多个国家和地区。其麒麟系列处理器在智能手机领域具有广泛影响力。
- 技术实力:海思在5G通信、AI计算、图像处理等领域拥有深厚的技术积累,具备强大的自主研发能力和知识产权积累。
三、紫光国微
- 公司简介:紫光国微是国内领先的芯片设计领军企业,专注于集成电路芯片设计开发业务。
- 产品范畴:紫光国微在智能安全芯片、特种集成电路、安全自主FPGA等领域形成领先的竞争态势和市场地位。其产品应用遍及国内外,为金融、电信、政务、汽车等领域提供芯片和终端产品。
- 技术实力:紫光国微拥有先进的芯片设计技术和强大的研发团队,能够为客户提供定制化的芯片解决方案。
四、北方华创
- 公司简介:北方华创是中国领先的半导体设备及元器件制造商,拥有丰富的研发经验和强大的技术实力。
- 产品范畴:北方华创在半导体制造设备方面拥有广泛的产品组合,包括刻蚀设备、薄膜沉积设备、热处理设备等,这些设备是半导体制造过程中的关键部分。
- 技术实力:北方华创在半导体设备领域取得了核心技术突破,部分产品已达到国际先进水平,能够与国际顶级设备制造商竞争。
五、长电科技
- 公司简介:长电科技是中国领先的半导体封装测试企业之一,在技术、规模、资金和人才方面具有显著优势。
- 业务范畴:长电科技提供全方位的芯片成品制造一站式服务,包括集成电路的系统集成、设计仿真、技术开发等。其产品广泛应用于计算机、网络通讯、电子消费等领域。
- 技术实力:长电科技在先进封装技术方面拥有深厚的技术积累,能够为客户提供更小尺寸、更高性能、更低成本的封装解决方案。
这些国产芯片制造商在各自领域具有显著的技术实力和市场影响力,与意法半导体等国际巨头形成了一定的竞争态势。随着国产替代的加速推进和技术的不断创新升级,这些国产芯片制造商有望在全球舞台上展现出更加强大的竞争力和影响力。
2. MCU 和 MPC
- MCU:Micro Controller Unit
微控制器单元;
低功耗、低性能;
精简指令集(RISC);
用于嵌入式系统,用于消费电子、工业自动化、汽车电子等领域;
小内存和存储;
嵌入式外设,ADC、UART、定时器等; - MPU:Micro Processor Unit
微处理器单元;
高功耗、高性能;
用于计算机处理器,用于智能手机、个人电脑、服务器等;
复杂指令集(CISC);
大内存和存储;
USB、以太网、高级图形接口等;
3. 处理器架构
目前常见的CPU架构。
注意:CPU指令集和CPU架构可以看作是相同的说法。因为,ARM指令集必然运行在ARM架构的CPU上!其他同理。
一、x86架构
- 设计者(制造商):Intel(英特尔)与 AMD(超威半导体);
- x86:x86 架构的32位版本,率先由 Intel 研发成功;
- x64:x86 架构的64位版本,率先由 AMD 研发成功;
- x64 也称 x86_64、amd64;
- 应用于PC和服务器;
- 支持32位和64位操作模式;
- 提供丰富指令集;
- 功耗较高,不太适合嵌入式设备;
二、ARM架构
- 设计者(制造商):ARM;
- arm64 又称 aarch64;
- 基于RISC(精简指令集计算机)原则设计;
应用于移动设备、嵌入式系统,如智能手机、平板电脑和物联网设备; - 低功耗、高性能和灵活性,适合于对功耗和体积有严格要求的设备;
- 指令集被设计得非常简洁,有助于提高处理器的效率和性能;
- 支持多种不同的指令集,包括ARMv7、ARMv8等,以满足不同设备和应用的需求;
- 意法半导体公司基于ARM架构研发的一些CPU系列、型号:
三、MIPS架构
-
设计者:斯坦福大学的约翰·亨尼西(John L. Hennessy)和他的学生大卫·帕特森(David A. Patterson)
-
特点:
- 主要应用于路由器、数字电视等领域,亦可用于嵌入式系统。
- 高性能、功耗较低。
- 价格相对较高,软件支持相对较少。
- 指令集设计简洁高效,具有良好的性能和可扩展性。
四、PowerPC架构
-
设计者:IBM、苹果电脑和摩托罗拉公司合作开发
-
特点:
- 被广泛应用于游戏机和服务器等领域。
- 高性能、低功耗。
- 成本较高,也不能和x86兼容。
五、Alpha架构
-
设计者:DEC(数字设备公司)
-
特点:
- 最初被应用于UNIX服务器领域,但后来因为成本高昂而被逐渐淘汰。
- 高性能、强大的浮点计算能力。
- 软件支持相对较少,不太适合广泛应用。
六、SPARC架构
-
设计者:SUN公司
-
特点:
- 主要被应用于UNIX服务器领域。
- 高性能、稳定性强。
- 成本较高,不太适合广泛应用。
七、其他架构
除了上述几种常见的CPU架构外,还有一些其他架构如VLIW(Very Long Instruction Word,超长指令字)、EPIC(Explicitly Parallel Instruction Computing,显式并行指令计算)等,但这些架构在市场上的应用相对较少。
总的来说,不同的CPU架构有着各自的优缺点,选择适合自己实际需要的架构才是最明智的选择。随着技术的不断发展,CPU架构也在不断创新和优化,以适应不同应用场景的需求。
4. 处理器指令集
注意:CPU指令集和CPU架构可以看作是相同的说法。因为,ARM指令集必然运行在ARM架构的CPU上!其他同理。
CPU指令集是指CPU中用来计算和控制计算机系统的一套指令的集合,这些指令规定了CPU能够执行的操作和功能,是CPU能够“理解”的语言。
一、主要分类
从现阶段的主流体系结构讲,指令集可分为复杂指令集(CISC)和精简指令集(RISC)两大阵营。
- 复杂指令集(CISC):指令格式可变、指令集复杂庞大,包含多种寻址方式和大量指令。CISC指令集支持多种数据类型和操作,如整数、浮点数、字符串等,并且具有强大的分支预测和流水线技术。然而,CISC指令集也存在一些缺点,如指令执行效率低、功耗较高、硬件实现复杂等。代表架构有x86架构,广泛应用于个人电脑和服务器领域。
属于CISC(复杂指令集计算机)的CPU架构主要包括以下几种:- x86架构: x86、x64(又称 AMD64、x86-64);
- IA-32架构:Intel Architecture 32bit的简称,英特尔x86架构的32位延伸版本;
- IA-64架构:是Intel的全新64位架构,与x86架构没有相似性;
- 其他CISC架构;
- 精简指令集(RISC):指令格式固定、种类较少、寻址方式简单。RISC指令集强调指令的简洁性和高效性,通过减少指令的复杂性和提高指令的执行效率来实现高性能。RISC指令集通常具有较低的功耗和较高的能效比,适用于低功耗和嵌入式系统等领域。代表架构有ARM架构,广泛应用于移动设备、嵌入式系统和服务器等领域。
属于RISC(精简指令集计算机)的CPU架构主要包括以下几种:- ARM架构 指令集;
- PowerPC架构 指令集;
- MIPS架构 指令集;
- SPARC架构 指令集;
- RISC-V架构 指令集;
二、常见指令集
- x86指令集:由Intel为其第一块16位CPU(i8086)专门开发,后来IBM推出的世界第一台PC机中的CPU——8088(i8086简化版)也使用了x86指令集。x86指令集经历了多次扩展和升级,如MMX、SSE、AVX等指令集,以支持更高级的数据处理和多媒体应用。x86指令集广泛应用于个人电脑和服务器领域。
- ARM指令集:一种基于精简指令集(RISC)的处理器架构,具有高性能和低功耗的特点。ARM指令集支持多种扩展和可选模块,如M、A、F、D等,以满足不同应用场景的需求。ARM指令集广泛应用于移动设备、嵌入式系统和服务器等领域。
- MIPS指令集:一种经典的RISC架构,由MIPS Computer Systems开发。MIPS指令集具有固定长度指令(32位)、简洁的指令格式和丰富的寄存器集等特点。MIPS指令集常用于嵌入式系统和网络设备等领域。
- PowerPC指令集:由IBM、Apple和Motorola(AIM联盟)共同开发的RISC架构。PowerPC指令集支持大规模并行处理和强大的分支预测技术,适用于高性能计算和服务器等领域。
- SPARC指令集:由Sun Microsystems开发的RISC架构,主要用于服务器和高性能计算。SPARC指令集具有寄存器窗口机制、高可扩展性等特点,适合大规模服务器应用。
- 其他指令集;
5.内核、架构、指令集 的关系
内核、架构、指令集三者之间在微控制器(如STM32)的设计中密切相关,它们之间的关系可以概括如下:
一、内核与架构的关系
-
内核是架构的具体实现:
- 内核是微控制器的核心部分,负责执行程序指令、管理内存和外设等。
- 架构则是指微控制器的整体设计框架,包括内核、总线、外设等各个组成部分的排列和连接方式。
- 内核作为架构中的关键部分,其设计和实现必须遵循架构的要求。
-
架构决定内核的性能:
- 架构的设计直接影响到微控制器的整体性能,包括处理速度、功耗、外设接口数量等。
- 内核作为架构中的核心部分,其性能也直接受到架构的影响。例如,高性能的架构通常能够支持更强大的内核,从而实现更高的处理速度和更低的功耗。
二、架构与指令集的关系
-
指令集是架构的一部分:
- 指令集是指微控制器能够识别和执行的指令集合。
- 架构的设计中包括了指令集的选择和定义,因为指令集是微控制器与外界进行交互的重要方式之一。
-
架构决定指令集的复杂性:
- 架构的设计决定了微控制器能够支持的指令类型和数量。
- 简单的架构通常支持较简单的指令集,而复杂的架构则能够支持更丰富的指令集。这直接影响到微控制器的编程灵活性和性能。
三、内核与指令集的关系
-
内核执行指令集:
- 内核是微控制器的执行单元,负责执行存储在内存中的指令。
- 指令集是内核能够识别和执行的指令集合,因此内核的性能和特性直接受到指令集的影响。
-
指令集影响内核的设计:
- 指令集的选择和设计直接影响到内核的设计和实现。例如,某些指令集可能需要特定的硬件支持才能实现高效的执行。
- 内核的设计者必须根据指令集的特点和要求来设计内核的硬件和软件部分,以确保内核能够正确地执行指令集。
在STM32微控制器中,内核、架构和指令集三者之间的关系得到了充分的体现。STM32系列微控制器采用了基于ARM Cortex-M内核的架构,并支持Thumb-2指令集。这种设计使得STM32微控制器具有高性能、低功耗和丰富的外设接口等特点,在多个领域得到了广泛的应用。
6. ARM架构的CPU
ARM架构的CPU种类繁多,涵盖了从低功耗嵌入式应用到高性能计算领域的广泛选择。以下是一些常见的基于ARM架构的CPU系列及其代表型号:
一、Cortex系列
-
Cortex-A系列
Cortex-A系列针对高性能、高能效的应用场景设计,如智能手机、平板电脑、智能电视等。代表型号包括:
- Cortex-A57和Cortex-A53:作为Cortex-A50系列的成员,采用64位ARMv8架构,提供卓越的性能和能效。
- Cortex-A15、Cortex-A9和Cortex-A8:也是该系列中广受欢迎的型号,支持复杂的操作系统和多媒体应用。
- Cortex-X925:Armv9 CPU架构的一部分,展现了ARM在高性能计算领域的持续创新。
-
Cortex-R系列
Cortex-R系列专为实时应用而设计,如汽车控制系统、工业自动化设备等。这些处理器强调实时响应能力和高可靠性。代表型号包括Cortex-R5、Cortex-R7和Cortex-R8等。
-
Cortex-M系列
Cortex-M系列面向成本敏感且对性能有一定要求的嵌入式市场,如智能家居设备、可穿戴设备等。该系列处理器以其低功耗和低成本特性著称。代表型号包括:
- Cortex-M0和Cortex-M0+:适用于超低功耗应用。
- Cortex-M3:具有高性能和低功耗的平衡。
- Cortex-M4:在Cortex-M3的基础上增加了DSP指令集,具有更强的计算能力和信号处理能力。
- Cortex-M7:Cortex-M4的升级版本,提供更高的性能和计算能力。
二、其他ARM架构的CPU
除了Cortex系列外,还有一些其他基于ARM架构的CPU:
-
ARM7系列
ARM7系列处理器以其低功耗和低成本特性在便携式设备和嵌入式系统中得到了广泛应用。例如,ARM7TDMI是目前使用最广泛的32位嵌入式RISC处理器之一。
-
ARM9系列
ARM9系列在ARM7的基础上进行了性能提升,增加了更高级的缓存和内存管理功能,适用于需要更高处理能力的应用场合。代表型号有ARM920T、ARM922T等。
-
ARM11系列
ARM11系列引入了ARMv6架构,进一步增强了多媒体处理能力和系统性能,为当时的高端智能手机和嵌入式设备提供了强大的计算支持。
-
Neoverse系列
Neoverse系列专为云计算和数据中心设计,支持高性能计算和大规模数据处理。代表型号有Neoverse N1、Neoverse V1等。这些处理器具有高扩展性、高带宽以及安全和虚拟化等特性。
三、基于ARM架构的定制CPU
许多芯片制造商也基于ARM架构开发了自己的CPU产品。这些产品通常根据特定的应用场景和需求进行定制和优化。例如:
- 高通Snapdragon系列:高通公司基于ARM架构设计的一系列移动处理器,广泛应用于智能手机、平板电脑和物联网设备等领域。
- 华为麒麟系列:华为自主研发的基于ARM架构的处理器系列,为华为手机和平板电脑提供了强大的计算能力和能效表现。
- 苹果A系列芯片:苹果公司自主研发的基于ARM架构的处理器,为iPhone、iPad等设备提供了卓越的性能和能效表现。
总的来说,ARM架构的CPU种类繁多,覆盖了从低端嵌入式设备到高端智能手机和计算机的各种应用场景。随着技术的不断发展,ARM架构将继续在计算机架构领域发挥重要作用。
7. STM32
STM32是一款由STMicroelectronics(意法半导体)公司生产的32位闪存微控制器家族,基于ARM Cortex-M内核开发。以下是对STM32的详细介绍:
一、主要特点
- 高性能:STM32系列微控制器采用ARM Cortex-M系列处理器核心,包括Cortex-M0、M3、M4、M7和M33等,这些核心提供了高性能的处理能力。
- 低功耗:STM32具有多种低功耗模式,如睡眠模式、停止模式和待机模式等,使得STM32在不需要全速运行时能够显著降低功耗。
- 丰富的外设接口:STM32提供了丰富的外设接口,如GPIO(通用输入输出端口)、UART(通用异步收发传输器)、SPI(串行外设接口)、I2C(两线式串行总线)、ADC(模数转换器)、DAC(数模转换器)、PWM(脉冲宽度调制)等,这些接口使得STM32能够轻松地与外部设备通信和控制外部设备。
- 易于开发:STMicroelectronics为STM32提供了丰富的开发工具和支持,包括STM32Cube库、STM32CubeIDE集成开发环境、STM32CubeMX图形化配置工具等,这些工具简化了STM32的开发过程,使得开发人员能够更快速地开发出稳定可靠的应用程序。
二、应用领域
STM32的高性能、低功耗和丰富的外设接口等特点,使其在多个领域得到了广泛的应用,包括但不限于:
- 工业控制:如电机控制、PLC(可编程逻辑控制器)、传感器数据采集等。STM32的高性能和丰富的外设接口使得它能够轻松地满足工业控制的各种需求。
- 汽车电子:如车载信息娱乐系统、车身控制系统、发动机控制系统等。STM32的低功耗和高可靠性使得它非常适合汽车电子的苛刻环境。
- 物联网:STM32的低功耗和丰富的通信接口(如UART、SPI、I2C等)使得它非常适合作为物联网节点的微控制器。
- 医疗设备:如便携式医疗仪器、病人监护系统等。
- 消费电子:如智能家居、智能穿戴设备等。STM32的易于开发和丰富的外设接口使得它能够快速地满足消费电子产品的开发需求。
三、性能指标
STM32微控制器的性能指标因型号而异,但通常包括以下几个方面:
- 处理器性能:主频通常在72MHz到数百兆赫兹之间,存储器容量从几KB到几MB不等,RAM容量也从几百字节到几百KB不等。
- 外设性能:GPIO数量、USART(通用同步异步收发传输器)数量、SPI数量、I2C数量以及定时器数量等也因型号而异。
四、命名规则
STM32系列微控制器的命名规则通常包括以下几个部分:
- STM32:代表意法半导体公司(ST)基于ARM Cortex-M系列内核的32位MCU。
- 产品类型或系列标识:如F、L、H等,不同字母代表不同的产品类型或特性。
- 内核类型及增强型标识:如103代表ARM Cortex-M3内核,增强型。
- 引脚数量或特定功能标识:如C代表48个引脚。
- 闪存存储器容量标识:如8代表64KB Flash(中容量)。
- 封装类型标识:如T代表LQFP封装。
- 工作温度范围标识:如6代表-40~85℃(工业级)。
MCU系列:
MPU系列:
五、型号性能梯度
选型手册:
六、开发流程
STM32微控制器的开发流程通常包括以下几个步骤:
- 硬件准备:根据项目需求选择合适的STM32型号,配置相应的外设资源。
- 软件准备:安装Keil、IAR等开发工具,配置工程环境。
- 编写程序:根据项目需求编写程序代码,包括初始化代码、主程序代码和中断服务程序代码等。
- 编译程序:使用Keil、IAR等开发工具对程序代码进行编译,生成目标文件。
- 烧写程序:将编译生成的目标文件烧写到STM32微控制器中。
- 调试程序:使用调试工具对程序进行调试,确保程序正常运行。
- 优化程序:根据实际运行情况对程序进行优化,提高性能。
综上所述,STM32是一款功能强大、性能优异、片上资源丰富、功耗低的经典嵌入式微控制器,在多个领域得到了广泛的应用。
参考文献
【1】文心一言
【2】https://www.stmcu.com.cn
相关文章:

被裁20240927 --- 嵌入式硬件开发 前篇
前篇主要介绍一些相关的概念,用于常识扫盲,后篇开始上干货! 他捧着一只碗吃过百家的饭 1. 处理器芯片1.1 处理器芯片制造商一、 英特尔(Intel)二、 三星(SAMSUNG)三、 高通(Qualcomm…...

重温设计模式--观察者模式
文章目录 观察者模式(Observer Pattern)概述观察者模式UML图作用:实现对象间的解耦支持一对多的依赖关系易于维护和扩展 观察者模式的结构抽象主题(Subject):具体主题(Concrete Subject…...

vulnhub靶场——Log4j2
第一步:搭建靶场环境 #开启环境 cd vulhub/log4j/CVE-2021-44228 docker-compose up -d 来到网站首页 第二步:搭建一个dnslog平台上获取我们注入的效果 第三步:发现 /solr/admin/cores?action 这里有个参数可以传 我们可以看到留下了访问记录并且前面的参数被执行后给我们回…...

Vue3中使用resolve进行路径别名设置
Vue3中使用resolve进行路径别名设置 使用Vite初始化Vue3项目工程请参考文章:Vite创建Vue3工程并引入ElementPlus(图文详细) 1.使用~路径别名替换根目录,使用路径别名替换src目录 在vite.config.js配置文件下添加如下配置 impo…...

Linux 添加磁盘
1、编辑虚拟机添加磁盘 然后开启虚拟机 选项如下: DOS (MBR) a 切换可引导标志 b 编辑嵌套的 BSD 磁盘标签 c 切换 DOS 兼容标志 通用 d 删除一个分区 F 列出未分配的空闲空间 l 列出已知的分区类型 n 添加一个新分区 p 打印分区表 t 更改分区类…...

集成 jacoco 插件,查看单元测试覆盖率
文章目录 前言集成 jacoco 插件,查看单元测试覆盖率1. 添加pom2. 配置完成、执行扫描3. 执行结果4. 单元测试报告 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。 而且听说点赞…...

MySQL purged gtid是如何生成和维护的
目录 1. GTID的基本概念2. GTID的生成3. GTID的清除3.1 手动清除二进制日志3.2 自动清除二进制日志3.3 重置主库 在MySQL中,gtid_purged表示已清除的GTID集合。 gtid_purged的生成和维护过程如下: 1. GTID的基本概念 GTID(Global Transact…...

[创业之路-206]:《华为战略管理法-DSTE实战体系》- 6-关键成功因素法CSF
目录 一、概述 1、定义与起源 2、关键成功因素的定义 3、关键成功因素的来源 4、关键成功因素的确认方法 5、关键成功因素法的步骤 6、关键成功因素法的应用 7、关键成功因素法的优势与局限性 二、 关键成功因素法CSF的应用 1、企业战略管理 2、项目管理 3、绩效管…...
[Unity]【图形渲染】【游戏开发】Shader数学基础4-更多矢量运算
在计算机图形学和着色器编程中,矢量运算是核心的数学工具之一。矢量用于描述空间中的位置、方向、速度等各种物理量,并在图形变换、光照计算、纹理映射等方面起着至关重要的作用。本篇文章将详细讲解矢量和标量之间的乘法与除法、矢量的加法与减法、矢量的模与单位矢量、点积…...

目标检测——基于yolov8和pyqt的螺栓松动检测系统
目录 1.项目克隆和环境配置1.1 我这里使用的是v8.0.6版本1.2 项目代码结构介绍 2.数据集介绍2.1 数据集采集2.2采集结果介绍 3.模型训练4.pyqt界面设计4.1 界面内容介绍4.2 界面实现 5.操作中的逻辑实现5.1 图片检测5.2 文件夹检测5.3 视频检测和摄像头检测 6. 效果展示 1.项目…...

【Java数据结构】LinkedList
认识LinkedList LinkedList就是一个链表,它也是实现List接口的一个类。LinkedList就是通过next引用将所有的结点链接起来,所以不需要数组。LinkedList也是以泛型的方法实现的,所以使用这个类都需要实例化对象。 链表分为很多种,比…...

图像处理-Ch4-频率域处理
Ch4 频率域处理(Image Enhancement in Frequency Domain) FT :将信号表示成各种频率的正弦信号的线性组合。 频谱: ∣ F ( u , v ) ∣ [ R 2 ( u , v ) I 2 ( u , v ) ] 1 2 |F(u, v)| \left[ R^2(u, v) I^2(u, v) \right]^{\frac{1}{2}} ∣F(u,v)…...

WPS工具栏灰色怎么办
WPS离线不登录,开启工具栏等相关功能 当你在使用WPS的过程中,若因网络问题或其他特殊原因,导致无法登录使用WPS时,可根据以下步骤开启离线兼容模式,开启此模式后,可在未登录的状态下,激活并使用…...

渐开线齿轮和摆线齿轮有什么区别?
摆线齿形与渐开线齿形的区别 虽然在比对这两种齿形,但有一个事情希望大家注意:渐开线齿轮只是摆线齿轮的一个特例。 (1)摆线齿形的压力角在啮合开始时最大,在齿节点减小到零,在啮合结束时再次增大到最大…...

vulnhub靶场-matrix-breakout-2-morpheus攻略(截止至获取shell)
扫描出ip为192.168.121.161 访问该ip,发现只是一个静态页面什么也没有 使用dir dirsearch 御剑都只能扫描到/robots.txt /server-status 两个页面,前者提示我们什么也没有,后面两个没有权限访问 扫描端口,存在81端口 访问&#x…...

应用高次、有理代数式为AI生成亚对称图像
原创:daode1212(daode3056) 本文定义不完全对称的图像叫亚对称图像,因为全对称的太过机械,不符合人工的特点,本人基于二元高次的有理式,生成时引入N个随机数分A,B两个组,再通过指针对画布所有像素高速扫描生…...

潜在狄利克雷分配LDA 算法深度解析
引言 潜在狄利克雷分配(Latent Dirichlet Allocation, LDA)是一种广泛应用于文本挖掘和信息检索领域的主题模型。它能够从文档集合中自动发现隐藏的主题结构,为理解大规模文本数据提供了强有力的工具。本文将着重讲解 LDA 的核心理论&#x…...

[x86 ubuntu22.04]双触摸屏的触摸事件都响应在同一个触摸屏上
1 问题描述 CPU:G6900E OS:ubuntu22.04 Kernel:6.8.0-49-generic 系统下有两个一样的 edp 触摸屏,两个触摸屏的触摸事件都响应在同一个 edp 屏幕上。 2 解决过程 使用“xinput”命令查看输入设备,可以看到只有一个 to…...

重温设计模式--代理模式
文章目录 定义UML图代理模式主要有以下几种常见类型:代理模式涉及的主要角色有:C 代码示例 定义 代理模式(Proxy Pattern)属于结构型设计模式,它为其他对象提供一种代理以控制对这个对象的访问。 通过引入代理对象&am…...

一些elasticsearch重要概念与配置参数
ES 是在 lucene 的基础上进行研发的,隐藏了 lucene 的复杂性,提供简单易用的 RESTful Api接口。ES 的分片相当于 lucene 的索引。 Node 节点的几种部署实例 实例一: 只用于数据存储和数据查询,降低其资源消耗率 node.master: false node.da…...

leetcode 面试经典 150 题:螺旋矩阵
链接螺旋矩阵题序号54题型二维数组(矩阵)解题方法模拟路径法难度中等熟练度✅✅✅ 题目 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix [[1,2,3…...

JAVA AOP简单实践(基于SpringBoot)
天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...

java agent的使用【通俗易懂版】
一、静态代理Agent 1.生成Agent的jar包 (1)创建Agent项目,引入javassist.jar包 (2)编写premain方法 import java.lang.instrument.Instrumentation;public class Agent1 {public static void premain(Stri…...

大模型学习指南
随着人工智能的迅猛发展,大模型成为了技术前沿的璀璨明星。踏入大模型学习领域,需要在多个关键方面下功夫。 扎实的数学功底是基石。线性代数为理解多维数据、矩阵运算提供支撑,像大模型中权重矩阵的处理就离不开它;概率论与数理…...

单片机:实现定时器中断(数码管读秒+LED闪烁)(附带源码)
单片机实现定时器中断:数码管读秒与LED闪烁 在单片机项目中,定时器中断是一个常见的应用,用于实现定时任务,例如定时更新显示或控制周期性事件。本文将介绍如何使用定时器中断实现数码管读秒和LED闪烁功能。通过使用定时器中断&a…...

STM32单片机芯片与内部33 ADC 单通道连续DMA
目录 一、ADC DMA配置——标准库 1、ADC配置 2、DMA配置 二、ADC DMA配置——HAL库 1、ADC配置 2、DMA配置 三、用户侧 1、DMA开关 (1)、标准库 (2)、HAL库 2、DMA乒乓 (1)、标准库 ÿ…...

【0376】Postgres内核 分配 last safe MultiXactId
上一篇: 【0375】Postgres内核 XLOG 之 设置下一个待分配 MultiXactId 和 offset 文章目录 1. 最后一个安全的 MultiXactId1.1 计算 multi wrap limit1.2 计算 multi stop limit1.3 计算 multi warn limit1.4 计算 multi vacuum limit2. 初始化 MultiXactState 成员3. 完成 mu…...

php时间strtotime函数引发的问题 时间判断出错
在 PHP 中,strtotime 函数能处理的最大时间范围取决于您的系统和 PHP 版本。 一般来说,它可以处理的时间范围从 1901 年 12 月 13 日到 2038 年 1 月 19 日。超过这个范围可能会导致不可预测的结果或错误。 如果您需要处理更大范围的时间,可能…...

Kibana:LINUX_X86_64 和 DEB_X86_64两种可选下载方式的区别
最近需要在vm(操作系统是 Ubuntu 22.04.4 LTS,代号 Jammy。这是一个基于 x86_64 架构的 Linux 发行版)上安装一个7.17.8版本的Kibana,并且不采用docker方式。 在下载的时候发现有以下两个选项,分别是 LINUX_X86_64 和 …...

【LeetCode每日一题】 LeetCode 151.反转字符串中的单词
LeetCode 151.反转字符串中的单词 题目描述 给你一个字符串 s ,请你反转字符串中单词的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意:…...