被裁20240927 --- 嵌入式硬件开发 前篇
他捧着一只碗吃过百家的饭
- 处理器芯片
- 处理器芯片制造商
- 嵌入式处理器芯片制造商
- 国内制造商
- 国外制造商
- 与意法半导体对标的国产芯片制造商
- 一、中芯国际
- 二、华为海思
- 三、紫光国微
- 四、北方华创
- 五、长电科技
- MCU 和 MPC
- 处理器架构
- 一、x86架构
- 二、ARM架构
- 三、MIPS架构
- 四、PowerPC架构
- 五、Alpha架构
- 六、SPARC架构
- 七、其他架构
- 处理器指令集
- 一、主要分类
- 二、常见指令集
- 内核、架构、指令集 的关系
- 一、内核与架构的关系
- 二、架构与指令集的关系
- 三、内核与指令集的关系
- ARM架构的CPU
- 一、Cortex系列
- 二、其他ARM架构的CPU
- 三、基于ARM架构的定制CPU
- STM32
- 一、主要特点
- 二、应用领域
- 三、性能指标
- 四、命名规则
- 五、开发流程
- 参考文献
处理器芯片
注意:ARM 公司只提RISC技术的芯片设计开发服务和技术授权,不直接制造芯片!!
处理器芯片制造商
-
英特尔(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,但其有线通信芯片被广泛应用于智能手机、电视等设备中。
这些制造商在处理器芯片领域各有特色,为用户提供了多样化的选择。同时,随着技术的不断进步和市场的拓展,新的制造商和新的产品也在不断涌现。
嵌入式处理器芯片制造商
国内制造商
-
海思(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,供其他芯片制造商使用和开发嵌入式处理器芯片。
这些制造商在嵌入式处理器芯片领域拥有强大的研发实力和市场份额,为用户提供了多样化的选择和优质的服务。
与意法半导体对标的国产芯片制造商
与意法半导体(STMicroelectronics)对标的优秀国产芯片制造商主要包括以下几家:
一、中芯国际
- 公司简介:中芯国际集成电路制造有限公司是世界领先的集成电路芯片代工企业之一,同时也是国内规模最大、技术最先进的集成电路芯片制造企业。
- 业务范畴:中芯国际主要根据客户需求制造集成电路芯片,产品广泛应用于高性能计算、人工智能、服务器、基站以及汽车电子等多个领域。
- 技术实力:中芯国际具备先进的制造工艺和技术实力,能够制造从350纳米到14纳米的各种类型芯片,包括高端逻辑芯片、电源管理芯片、射频芯片等。
二、华为海思
- 公司简介:海思半导体有限公司(Hisilicon)是华为旗下的半导体设计公司,专注于集成电路的设计与解决方案。
- 产品应用:海思的产品覆盖无线网络、固定网络、数字媒体等领域的芯片及解决方案,成功应用在全球100多个国家和地区。其麒麟系列处理器在智能手机领域具有广泛影响力。
- 技术实力:海思在5G通信、AI计算、图像处理等领域拥有深厚的技术积累,具备强大的自主研发能力和知识产权积累。
三、紫光国微
- 公司简介:紫光国微是国内领先的芯片设计领军企业,专注于集成电路芯片设计开发业务。
- 产品范畴:紫光国微在智能安全芯片、特种集成电路、安全自主FPGA等领域形成领先的竞争态势和市场地位。其产品应用遍及国内外,为金融、电信、政务、汽车等领域提供芯片和终端产品。
- 技术实力:紫光国微拥有先进的芯片设计技术和强大的研发团队,能够为客户提供定制化的芯片解决方案。
四、北方华创
- 公司简介:北方华创是中国领先的半导体设备及元器件制造商,拥有丰富的研发经验和强大的技术实力。
- 产品范畴:北方华创在半导体制造设备方面拥有广泛的产品组合,包括刻蚀设备、薄膜沉积设备、热处理设备等,这些设备是半导体制造过程中的关键部分。
- 技术实力:北方华创在半导体设备领域取得了核心技术突破,部分产品已达到国际先进水平,能够与国际顶级设备制造商竞争。
五、长电科技
- 公司简介:长电科技是中国领先的半导体封装测试企业之一,在技术、规模、资金和人才方面具有显著优势。
- 业务范畴:长电科技提供全方位的芯片成品制造一站式服务,包括集成电路的系统集成、设计仿真、技术开发等。其产品广泛应用于计算机、网络通讯、电子消费等领域。
- 技术实力:长电科技在先进封装技术方面拥有深厚的技术积累,能够为客户提供更小尺寸、更高性能、更低成本的封装解决方案。
这些国产芯片制造商在各自领域具有显著的技术实力和市场影响力,与意法半导体等国际巨头形成了一定的竞争态势。随着国产替代的加速推进和技术的不断创新升级,这些国产芯片制造商有望在全球舞台上展现出更加强大的竞争力和影响力。
MCU 和 MPC
- MCU:Micro Controller Unit
微控制器单元;
低功耗、低性能;
精简指令集(RISC);
用于嵌入式系统,用于消费电子、工业自动化、汽车电子等领域;
小内存和存储;
嵌入式外设,ADC、UART、定时器等; - MPU:Micro Processor Unit
微处理器单元;
高功耗、高性能;
用于计算机处理器,用于智能手机、个人电脑、服务器等;
复杂指令集(CISC);
大内存和存储;
USB、以太网、高级图形接口等;
处理器架构
目前常见的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架构也在不断创新和优化,以适应不同应用场景的需求。
处理器指令集
注意: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指令集具有寄存器窗口机制、高可扩展性等特点,适合大规模服务器应用。
- 其他指令集;
内核、架构、指令集 的关系
内核、架构、指令集三者之间在微控制器(如STM32)的设计中密切相关,它们之间的关系可以概括如下:
一、内核与架构的关系
-
内核是架构的具体实现:
- 内核是微控制器的核心部分,负责执行程序指令、管理内存和外设等。
- 架构则是指微控制器的整体设计框架,包括内核、总线、外设等各个组成部分的排列和连接方式。
- 内核作为架构中的关键部分,其设计和实现必须遵循架构的要求。
-
架构决定内核的性能:
- 架构的设计直接影响到微控制器的整体性能,包括处理速度、功耗、外设接口数量等。
- 内核作为架构中的核心部分,其性能也直接受到架构的影响。例如,高性能的架构通常能够支持更强大的内核,从而实现更高的处理速度和更低的功耗。
二、架构与指令集的关系
-
指令集是架构的一部分:
- 指令集是指微控制器能够识别和执行的指令集合。
- 架构的设计中包括了指令集的选择和定义,因为指令集是微控制器与外界进行交互的重要方式之一。
-
架构决定指令集的复杂性:
- 架构的设计决定了微控制器能够支持的指令类型和数量。
- 简单的架构通常支持较简单的指令集,而复杂的架构则能够支持更丰富的指令集。这直接影响到微控制器的编程灵活性和性能。
三、内核与指令集的关系
-
内核执行指令集:
- 内核是微控制器的执行单元,负责执行存储在内存中的指令。
- 指令集是内核能够识别和执行的指令集合,因此内核的性能和特性直接受到指令集的影响。
-
指令集影响内核的设计:
- 指令集的选择和设计直接影响到内核的设计和实现。例如,某些指令集可能需要特定的硬件支持才能实现高效的执行。
- 内核的设计者必须根据指令集的特点和要求来设计内核的硬件和软件部分,以确保内核能够正确地执行指令集。
在STM32微控制器中,内核、架构和指令集三者之间的关系得到了充分的体现。STM32系列微控制器采用了基于ARM Cortex-M内核的架构,并支持Thumb-2指令集。这种设计使得STM32微控制器具有高性能、低功耗和丰富的外设接口等特点,在多个领域得到了广泛的应用。
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架构将继续在计算机架构领域发挥重要作用。
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℃(工业级)。
五、开发流程
STM32微控制器的开发流程通常包括以下几个步骤:
- 硬件准备:根据项目需求选择合适的STM32型号,配置相应的外设资源。
- 软件准备:安装Keil、IAR等开发工具,配置工程环境。
- 编写程序:根据项目需求编写程序代码,包括初始化代码、主程序代码和中断服务程序代码等。
- 编译程序:使用Keil、IAR等开发工具对程序代码进行编译,生成目标文件。
- 烧写程序:将编译生成的目标文件烧写到STM32微控制器中。
- 调试程序:使用调试工具对程序进行调试,确保程序正常运行。
- 优化程序:根据实际运行情况对程序进行优化,提高性能。
综上所述,STM32是一款功能强大、性能优异、片上资源丰富、功耗低的经典嵌入式微控制器,在多个领域得到了广泛的应用。
参考文献
【1】文心一言
相关文章:
被裁20240927 --- 嵌入式硬件开发 前篇
前篇主要介绍一些相关的概念,用于常识扫盲,后篇开始上干货! 他捧着一只碗吃过百家的饭 处理器芯片处理器芯片制造商嵌入式处理器芯片制造商国内制造商国外制造商 与意法半导体对标的国产芯片制造商一、中芯国际二、华为海思三、紫光国微四、北…...
CMake的INSTALL FILES和INSTALL DIRECTORY有什么区别
在 CMake 中,install() 命令用于安装构建的目标文件、头文件、库等到指定的目标路径。install(FILES ...) 和 install(DIRECTORY ...) 都是 install() 命令的具体用法,它们的功能和适用场景不同。 以下是两者的详细区别和用法说明: 1. insta…...
提炼关键词的力量:AI驱动下的SEO优化策略
内容概要 在当今数字化营销的环境中,关键词对于提升网站的可见性和流量起着至关重要的作用。企业和个人必须重视有效的关键词策略,以便在竞争激烈的网络市场中脱颖而出。本文将深入探讨如何利用人工智能技术来优化SEO策略,特别是在关键词选择…...
springboot中Controller内文件上传到本地以及阿里云
上传文件的基本操作 <form action"/upload" method"post" enctype"multipart/form-data"> <h1>登录</h1> 姓名:<input type"text" name"username" required><br> 年龄…...
【MFC】多工具栏如何保存状态
MFC中的工具栏本来只有一个,如果想增加几个工具栏是比较简单,但现在一个重要的问题是,状态无法保存,导致每次打开,工具栏就会出现问题,要么偏移位置要么显示不出。 经过研究,发现是MFC框架中的…...
IDEA搭建SpringBoot,MyBatis,Mysql工程项目
目录 一、前言 二、项目结构 三、初始化项目 四、SpringBoot项目集成Mybatis编写接口 五、代码仓库 一、前言 构建一个基于Spring Boot框架的现代化Web应用程序,以满足[公司/组织名称]对于[业务需求描述]的需求。通过利用Spring Boot简化企业级应用开发的优势&…...
鸿蒙心路旅程:HarmonyOS NEXT 心路旅程:技术、成长与未来
HarmonyOS NEXT 心路旅程:技术、成长与未来 技术的浪潮中,总有一些瞬间让人感到心潮澎湃。作为一名HarmonyOS NEXT开发者,我有幸成为这个时代科技创新的一部分。从最初的接触到深入学习、开发,以及如今规划未来的职业方向&#x…...
【漫话机器学习系列】010.Bagging算法(Bootstrap Aggregating)
Bagging算法(Bootstrap Aggregating) Bagging(Bootstrap Aggregating 的缩写)是一种集成学习方法,通过构建多个弱学习器(例如决策树)并将它们的结果进行平均(回归)或投票…...
【信息系统项目管理师】高分论文:论信息系统项目的进度管理(人力资源管理系统)
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论文1、规划进度管理3、排列活动顺序4、估算活动持续时间5、制订进度计划6、控制进度论文 2022年2月,我作为项目经理参与了XX电网公司人力资源管理系统建设项目,该项目是2022年XX电网公司“十三五”信息化规…...
Go web 开发框架 Iris
背景 掌握了 Go 语言的基础后就该开始实践了,编写Web应用首先需要一个 web 开发框架。做框架选型时,处理web请求是基本功能,至于MVC是更进一步需要。现在比较流行的web架构是前后端分离,后端响应RESTful的请求,Iris 能…...
模具生产过程中的标签使用流程图
①NFC芯片嵌入周转筐,通过读卡器读取CK_Label_v3的数据,并将这些信息上传至服务器进行存储; ②服务器随后与客户的WMS(仓库管理系统)进行交互,记录和同步注塑机的原始数据; ③当周转筐内的模具…...
精准提升:从94.5%到99.4%——目标检测调优全纪录
🚀 目标检测模型调优过程记录 在进行目标检测模型的训练过程中,我们面对了许多挑战与迭代。从初始模型的训练结果到最终的调优优化,每一步的实验和调整都有其独特的思路和收获。本文记录了我在优化目标检测模型的过程中进行的几次尝试&#…...
【LC】100. 相同的树
题目描述: 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入:p [1,2,3], q [1,2,3] 输出&…...
Midjourney参数大全
基本参数 纵横比,宽高比 --aspect,或--ar更改生成的纵横比。 混乱 --chaos <number 0–100>改变结果的变化程度。更高的数值会产生更多不寻常和意想不到的结果。 图像权重 --iw <0–2>设置相对于原始图像相识度。默认值为 1&a…...
【达梦数据库】获取对象DDL
目录 背景获取表的DDL其他 背景 在排查问题时总会遇到获取对象DDL的问题,因此做以下总结。 获取表的DDL 设置disql工具中显示LONG类型数据的最大长度,避免截断: SET LONG 9999获取DDL SELECT DBMS_METADATA.GET_DDL(TABLE,表名,模式名) …...
51c视觉~合集34
我自己的原文哦~ https://blog.51cto.com/whaosoft/12207162 #图像数据增强库综述 10个强大图像增强工具对比与分析 在深度学习和计算机视觉领域,数据增强已成为提高模型性能和泛化能力的关键技术。本文旨在全面介绍当前广泛使用的图像数据增强库,…...
机动车油耗计算API集成指南
机动车油耗计算API集成指南 引言 在当今社会,随着机动车数量的持续增长和环保意识的不断增强,如何有效管理和降低车辆油耗成为了车主、车队管理者以及交通政策制定者共同关注的问题。为了帮助这些群体更好地理解和优化燃油消耗情况,本接口能…...
正也科技荣获“金石奖2024医药健康互联网优秀服务商奖”
近日,上海正也信息科技有限公司在赛柏蓝第五届医药金石奖颁奖典礼上荣获“金石奖2024医药健康互联网优秀服务商奖”。这一殊荣不仅体现了业内对正也科技在医药信息化领域卓越贡献的高度认可,更是对其持续创新与专业服务的充分肯定。 01 作为深耕医药行…...
Ubuntu搭建ES8集群+加密通讯+https访问
目录 写在前面 一、前期准备 1. 创建用户和用户组 2. 修改limits.conf文件 3. 关闭操作系统swap功能 4. 调整mmap上限 二、安装ES 1.下载ES 2.配置集群间安全访问证书密钥 3.配置elasticsearch.yml 4.修改jvm.options 5.启动ES服务 6.修改密码 7.启用外部ht…...
【2024/12最新】CF罗技鼠标宏分享教程与源码
使用效果: 支持的功能 M4 7发一个点HK417 连点瞬狙炼狱加特林一个圈 下载链接 点击下载...
jmeter 接口性能测试 学习笔记
目录 说明工具准备工具配置jmeter 界面汉化配置汉化步骤汉化结果图 案例1:测试接口接口准备线程组添加线程组配置线程组值线程数(Number of Threads)Ramp-Up 时间(Ramp-Up Period)循环次数(Loop Count&…...
SpringBoot3整合Knife4j
文章目录 1. 引入依赖2. yml配置文件3. 常用注解3.1 类级别注解3.2 方法级别注解3.3 参数级别注解3.4 模型类注解 4. 访问界面 1. 引入依赖 <!--swagger--> <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-j…...
Dhatim FastExcel 读写 Excel 文件
Dhatim FastExcel 读写 Excel 文件 一、说明1、主要特点2、应用场景 二、使用方法1、引入依赖2、Sheet 数据3、读取 Excel4、写入 Excel 一、说明 Github 地址:Dhatim FastExcel Dhatim FastExcel是一个高性能、轻量级的Java库,专门用于读取和写入Exce…...
精读 84页华为BLM战略规划方法论
这篇文档主要介绍了华为的BLM战略规划方法论,该方法论旨在帮助企业制定战略规划,并确保战略规划的可执行性和有效性。以下是该文档的核心知识点和重点需要关注的内容: 战略规划的定义:战略规划是企业依据企业外部环境和企业自身的…...
如何评估并持续优化AI呼入机器人的使用效果
如何评估并持续优化AI呼入机器人的使用效果 作者:开源呼叫中心FreeIPCC 随着人工智能技术的快速发展,AI呼入机器人在客户服务、技术支持等多个领域得到了广泛应用。这些智能系统不仅提高了工作效率,降低了运营成本,还显著改善了…...
基于.NetCore 的 AI 识别系统的设计与实现
目录 项目背景与概述 技术架构与选型 后端技术 前端技术 系统功能模块 登录注册 数据大屏 练题系统 AI模块 工具箱 个人中心 项目背景与概述 在当今数字化快速发展的时代,人工智能(AI)技术正逐渐渗透到各个领域,展现出…...
java list 和数组互相转换的一些方法
在Java中,List 和 数组(Array) 之间的转换是一个常见的操作。由于它们是不同的数据结构,Java提供了一些方法来在它们之间进行转换。我们会从List到数组和数组到List两种情况分别讨论。 1. List 转 数组 假设你有一个 List 类型的…...
【WiFi】WiFi6 5G 802.11ax 最大速率对应表
5GHz 频段 1x1 MIMO 速率 20MHz 信道宽度 MCS 0: 8.6 MbpsMCS 1: 17.2 MbpsMCS 2: 25.8 MbpsMCS 3: 34.4 MbpsMCS 4: 51.6 MbpsMCS 5: 68.8 MbpsMCS 6: 77.4 MbpsMCS 7: 86.0 MbpsMCS 8: 103.2 MbpsMCS 9: 114.7 MbpsMCS 10: 129.0 MbpsMCS 11: 143.4 Mbps 40MHz 信道宽度 …...
智能座舱进阶-应用框架层-Handler分析
首先明确, handler是为了解决单进程内的线程之间的通信问题的。我也需要理解Android系统中进程和线程的概念, APP启动后,会有三四个线程启动起来,其中,有一条mainUITread的线程,专门用来处理UI事件…...
颜色空间之RGB和HSV互转
参考文档: https://blog.csdn.net/shandianfengfan/article/details/120600453 定点化实现: #define FRAC_BIT 10 // 小数精度 #define MIN3(x,y,z)int min3(int a, int b, int c) {int ret_val a < b ? (a < c ? a : c) : (b < c ? b :…...
程序员之路:编程语言面向过程的特征
以下是面向过程编程语言所具有的一些典型特征: 一、以过程(函数、子程序)为核心组织代码 强调函数的作用: 在面向过程编程中,函数(或子程序等不同语言中的类似概念)是代码组织的关键单元。程序…...
matlab的一些时间函数【转】
看到就记下来,感觉挺好玩的。 原文:MATLAB-一些时间函数 - 简书 (jianshu.com) 注明出处了,原文是公开的,应该不算侵权。若有侵权请告知删除谢谢。...
OpenGL —— 2.6.1、绘制一个正方体并贴图渲染颜色(附源码,glfw+glad)
源码效果 C++源码 纹理图片 需下载stb_image.h这个解码图片的库,该库只有一个头文件。 具体代码: vertexShader.glsl #version...
【ETCD】【源码阅读】深入解析 EtcdServer.applyEntries方法
applyEntries方法的主要作用是接收待应用的 Raft 日志条目,并按顺序将其应用到系统中;确保条目的索引连续,避免丢失或重复应用条目。 一、函数完整代码 func (s *EtcdServer) applyEntries(ep *etcdProgress, apply *apply) {if len(apply.…...
【数据分析】数据分析流程优化:从数据采集到可视化的全面指南
目录 引言一、数据采集:高质量数据的起点1.1 数据采集的目标1.2 数据采集的常用方法1.3 数据采集的注意事项 二、数据清洗:确保数据质量2.1 数据清洗的重要性2.2 常见的数据清洗步骤 三、数据分析:从数据中挖掘有价值的洞察3.1 数据分析的目的…...
【华为OD-E卷-字符串重新排序 字符串重新排列 100分(python、java、c++、js、c)】
【华为OD-E卷-字符串重新排序 字符串重新排列 100分(python、java、c、js、c)】 题目 给定一个字符串s,s包括以空格分隔的若干个单词,请对s进行如下处理后输出: 1、单词内部调整:对每个单词字母重新按字典…...
Mybatis二级缓存
一、二级缓存的概念 MyBatis 的二级缓存是基于命名空间(namespace)的缓存,它可以被多个 SqlSession 共享。当开启二级缓存后,在一个 SqlSession 中执行的查询结果会被缓存起来,其他 SqlSession 在查询相同的语句&…...
C语言中的宏定义:无参宏与带参宏的详细解析
C语言中的宏定义:无参宏与带参宏的详细解析 在C语言中,宏定义是一种非常强大的预处理功能,通过#define指令可以定义一些常量或者代码片段,用来减少代码重复,提高可读性。本文将详细讲解无参宏与带参宏的使用方法&…...
unity 最小后监听键盘输入
当Untiy最小化后,游戏窗口不会立刻失去焦点,此时依然可以使用Input来获取按键,但是点击其他窗口后,就会失去焦点,此时系统会把按键输入分配到其他窗口里,此时要用windowsAPI获取按键输入,应对两…...
python使用Flask框架创建一个简单的动态日历
0. 运行效果 运行代码,然后在浏览器中访问 http://127.0.0.1:5000/,将看到一个动态日历,能够通过点击按钮切换月份。 1. 安装 Flask 首先,确保你已经安装了Flask。如果没有,可以使用以下命令安装: pip i…...
力扣438-找到字符串中所有字母异位词
力扣438-找到字符串中所有字母异位词 力扣438-找到字符串中所有字母异位词原题地址:https://leetcode.cn/problems/find-all-anagrams-in-a-string/description/ 题目描述: 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词的子串&#x…...
七、网络安全-企业数据脱敏
文章目录 前言一、数据脱敏方法二、企业脱敏方案1. 数据库脱敏方案2. 历史数据脱敏3. 具体实现 三、日志脱敏方案四、输出脱敏 前言 数据脱敏 随着用户对个人隐私数据的重视和法律法规的完善,数据安全显得愈发重要。一方面可以加强权限管理,减少能够接…...
电子应用设计方案-62:智能鞋柜系统方案设计
智能鞋柜系统方案设计 一、引言 随着人们生活水平的提高,对家居用品的智能化需求也日益增加。智能鞋柜作为一种创新的家居产品,能够有效地解决鞋子的收纳、消毒、除臭和保养等问题,为用户提供更加便捷和健康的生活体验。 二、系统概述 1. 系…...
C++ 引用的基本用法
通过使用引用,可以创建该对象的另一个名字,而不会引入额外的内存开销。引用在函数参数传递、返回值以及避免拷贝大型对象时特别有用。 引用的基本用法 创建引用: 引用必须在创建时被初始化,且一旦被绑定到一个对象后࿰…...
全面解析 Golang Gin 框架
1. 引言 在现代 Web 开发中,随着需求日益增加,开发者需要选择合适的工具来高效地构建应用程序。对于 Go 语言(Golang)开发者来说,Gin 是一个备受青睐的 Web 框架。它轻量、性能高、易于使用,并且具备丰富的…...
element plus的table组件,点击table的数据是,会出现一个黑色边框
在使用 Element Plus 的 Table 组件时,如果你点击表格数据后出现了一个黑色边框,这通常是因为浏览器默认的焦点样式(outline)被触发了。如图: 你可以通过自定义 CSS 来隐藏这个黑色边框,代码如下࿱…...
三种国产大语言模型Python免费调用
基础三大模型,需要先去官方注册获得key;后续可以使用下列代码调用 1.腾讯 安装: pip install -i https://mirrors.tencent.com/pypi/simple/ --upgrade tencentcloud-sdk-python 实例: import jsonimport typesfrom tencentcl…...
Ansible playbook 详解与实战操作
一、概述 playbook 与 ad-hoc 相比,是一种完全不同的运用 ansible 的方式,类似与 saltstack 的 state 状态文件。ad-hoc 无法持久使用,playbook 可以持久使用。 playbook 是由一个或多个 play 组成的列表,play 的主要功能在于将事先归并为一…...
linux普通用户使用sudo不需要输密码
1.root用户如果没有密码,先给root用户设置密码 sudo passwd root #设置密码 2.修改visudo配置 su #切换到root用户下 sudo visudo #修改visudo配置文件 用户名 ALL(ALL) NOPASSWD: ALL #下图所示处新增一行配置 用户名需要输入自己当前主机的用户名...
linux-----数据库
Linux下数据库概述 数据库类型: 关系型数据库(RDBMS):如MySQL、PostgreSQL、Oracle等。这些数据库以表格的形式存储数据,表格之间通过关系(如主键 - 外键关系)相互关联。关系型数据库支持复杂的…...