arm板子和stm32有什么联系,其实渊源颇深

2022-04-07   大方老师单片机

原标题:arm板子和stm32有什么联系,其实渊源颇深

ARM与 STM32的关系

ARM介绍

1978年,奥地利籍物理学博Hermann Hauser,和他朋友,一位英国工程Chris Curry,共同创建了家名Cambridge Processor UnitCPU的公司,中文字面意思就剑桥处理器单,主要从事研发当地电子仪器设备的业务,比如街上的游戏机之类的。

1979年,在经营逐渐进入正规后,原来的公司名不怎么合适了,那个年代喜欢找个吉祥物作为公司名字Apple公司。这俩就以橡子为吉祥物,取名Acron Computer,中文字面意思就橡果公

1981年,也许是改了公司名字,运气就来了,这一年,公司接到一个大单。英国广播公BBC,计划整个英国播放一套电脑普及的教育节目,希Acron公司可以生产一套配套的电脑,之后英国政府还会海采购电脑,在各个学校普及。

接下这个大单后Acron公司就开始研发产品了。当时处理器正816位过渡,他们就去找了美国家半导体和摩托罗拉公司生产16位处理器。评估后发现,这些处理器执行上有点慢,中断的响应时间有长,还有就是太贵,一台电脑才500英镑,处理器成本就100英镑。于是又把目标转向当时如日中天 Intel,希望对方提供一1680286处理器的设计资料和样品,然Intel根本就不理他们。

最后Acorn公司没办法,临时采用了便宜MOS科技生产86502处理器,勉强研发出符合要求个人电BBC Micro。绝处逢生Acorn公司发现处理器受制于人,为了后面长久的发展,于是决定自己发处理器。

Acorn公司的研发人员从美国加州大学伯克利分校,找到了一个关于新型处理器的研简化指令集在此基础上,历4年的艰苦奋斗,1985年完成了微处理器的设计,以后BBC Micro,都用这颗新处器。对于这块芯片Acorn公司给它命名Acorn RISC MachineARM,中文字面意思就橡果指令集机,也就ARM的第一次出现。

这里插讲一下简化指令(Reduced Instruction Set ComputerRISC),与之相对应的就是复杂指令集 (Complex Instruction Set ComputerCISC)。早期的处理器都CISC架构(比如前Intel处理器),随著时推移,有越来越多的指令集加入。但是后来人们发现,整个指令集中,只有20%的指令常常会被使用到大约占了整个程序内容80%,而剩80%的指令,只占了整个程序内容20%(典型的二八原则)。于是 1979年美国加州大学伯克利分校David Patterson(前面提到的新型处理器研究的作),提出RISC想法,主张硬件专心加速常用的指令,不常用的指令则利用常用的指令去组合。

就在同一年198510月,英特尔发布80386Acorn公司ARM芯片被吊打80386CISC技术所有指令都支持,也就性能更好,但设计成本也高、功耗也大Acorn公司ARM芯片采RISI技术,只持常用指令,其它指令需要常用指令去组合,性能也就差一些,但成本低、功耗低、研发快Acorn公司不傻,性能比不过,就突出成本低,功耗低的优势,总有要求成本低、功耗低,性能要求不高的场景,于就往我们现在所见的嵌入式方向发展。

1990Acorn公司Apple公司合作,成立新公Advanced RISC MachinesARM,中文字面意高级精简指令集机,这就是现在大家常说ARM公司。

成立新公司后的几年ARM公司业绩平平,危机四起。于ARM决定改变他们的产品策略,他们不生产芯片,转而以授权的方式,将芯片设计方案转给其它公司。正ARM的这种授权模式,极大地降低自身的研发成本和研发风险。它以风险共担、利益共享的模式,形成了一个ARM为核心的生态圈,使低成本创新成为可能。

随后,德州仪(Texas InstrumentsTI)、意法半导(STMicroelectronicsST)、恩智浦半导(NXP SemiconductorsNXP)等半导体芯片厂商,相继购ARM授权,然后根据自身行业需求,设计不同的外设口的芯片。

由上总结ARM具有以下三种含义:

.ARM是一家全球半导体行业技术领先的公司,主要业务是设RISC嵌入式处理器;

.ARM是一类微处理器芯片或产品的统称,即所有采ARM公司提供方案开发RISC处理器;

.ARM是一项技术的名称,即采RISC的处理器体系结构;

1985年发布第一ARM处理器开始ARM公司不断升级迭代,加入新的指令系统、寄存器组、功特性,发展出不同架构。早期的经ARM处理器,架构命名规则比较混乱,现在这些处理器基本不常见了这里就不展开介绍。ARMv7开始,采Cortex命名,将整个处理器分为三大类,如 2.2.2所示。

.这是现代多用户多进程操作系统(比LinuxVxWorks)所必须的。该系列适用于高端消费电 sor),该系列有内存管理单(Memory Management UintMMU),实现虚拟内存,让每个用户进程都拥有自己独立的地址空间这是现代多用户多进程操作系统(比LinuxVxWorks)所必须的。该系列适用于高端消费电领域,比如智能手机、平板电脑、智能电视、路由器等;

.ARM Cortex-R:实时控制系列R表示应用程(Real Time Controller),该系列适用于高性能、高时性应用,比如硬/固态驱动控制器、企业网络设备、消费电子领域的蓝光播放器、汽车领域安全气囊等;

.ARM Cortex-M:微控制器系列M表示应用程(Microcontroller Processors),该系列适用于低功耗高性能且对成本敏感的产品,比如家电产品、物联网、无人机等;

针对不同的应用场景和需求,每个系列还会再细分,比ARM Cortex-M就再分ARM Cortex-M0ARM Cortex-M3ARM Cortex-M4等,区别如 2.2.1所示。

2.2.1 Cortex-M系列处理器区别

STM32介绍

2004ARM公司推出新一Cortex内核后ST公司抓住机遇,在很短的时间内就向市场推出了系列32位微控制器,同时提供基于库的开发模式,加快用户研发周期STM32ST公司基ARM Cortex-M3内核设计的微控制器,专为高性能、低功耗、低成本场景设计。

STM32如今产品系列非常丰富,主要ARM Cortex-M内核系MCU,也开始涉ARM Cortex-AMPU,如 2.2.3所示。按应用特性分类,可分为无线WB/WL系列、超低功L0/L1/L3/L5系列、主 G0/G4/F0/F1/F3系列、高性F2/F4/F7/H7系列、全新MP1系列。

STM32的处理器种类众多,通过了STM32的命令规范,可以了解整STM32家族产品,也方便以芯片选型STM32 MCU系列命名规则如 2.2.4所示。

STM32F103ZET6为例,解STM32芯片命名规范如 2.2.2所示。

2.2.2 STM32F103ZET6各部分含义

【总结】

ARM公司售Cortex-M系列的授权,意法半导体(STMicroelectronicsST)购买了该授权,生产了一些 STM32产品,这些使ARM技术的处理器,都习惯称ARM处理器,其STM32F103ZET6就作为了本手配套开发板的处理器。

我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免费的,私信我就可以~简介里也有。