STM32,大家比较熟悉,是ST公司推出的32位单片机系列。 官方的说明是: 基于ARM® Cortex® 内核的 32位微控制器和微处理器STM32产品家族,为MCU和MPU用户开辟了一个全新的自由开发空间,并提供了各种易于上手的软硬件辅助工具。 STM32 MCU和MPU融高性能、实时性、数字信号处理、低功耗、低电压于一身,同时保持高集成度和开发简易的特点。 业内最强大的产品阵容,基于工业标准的处理器,大量的软硬件开发工具,让STM32成为各类中小项目和完整平台解决方案的理想选择。 ST是公司简称,全称为意法半导体(STMicroelectronics)集团,于1987年6月成立,是由意大利的SGS 微电子公司和法国Thomson 半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics 将公司名称改为意法半导体有限公司,意法半导体是世界最大的半导体公司之一。从成立之初至如今,ST 的增长速度超过了半导体工业的整体增长速度。自1999年起,ST 始终是世界十大半导体公司之一。 M是MCU的缩写,代表STM32为单片机芯片。 32则表示该系列为32位单片机。 STM32功能强大、性能优异、片上资源丰富、功耗低,是一款经典的嵌入式微控制器,常应用在嵌入式领域,如智能车、四轴飞行器、机器人、无线通信、物联网、工业控制、娱乐电子产品等。 按内核架构分为不同产品:主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)、高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)。 下面再来说一下什么是ARM9。 要说ARM9,需要先来说一下ARM。ARM是什么呢?ARM是一家公司,也指代一个处理器内核。 英国ARM公司是全球领先的半导体知识产权(IP)提供商。全世界超过95%的智能手机和平板电脑都采用ARM架构。ARM设计了大量高性价比、耗能低的RISC处理器、相关技术及软件。 ARM 公司是专门从事基于RISC 技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得ARM 技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。 ARM处理器是英国ARM公司设计的低功耗成本的第一款RISC微处理器。全称为Advanced RISC Machine。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。 ARM处理器的三大特点是:耗电少功能强、16位/32位双指令集和合作伙伴众多。 这里简单介绍一下RISC。 RISC就是精简指令集计算机(Reduced Instruction Set Computer),RISC结构优先选取使用频最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻址方式种类减少;以控制逻辑为主,不用或少用微码控制等。 与之对应的就是CISC(Complex Instruction Set Computer,复杂指令集计算机),在CISC指令集的各种指令中,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的指令却不经常使用,在程序设计中只占20%。 下面继续说回ARM处理器。 ARM微处理器在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。 而ARM9处理器是ARM处理器的一个系列,算是主流嵌入式处理器,主要包括ARM9TDMI和ARM9E-S等系列。 ARM9采用哈佛体系结构,指令和数据分属不同的总线,可以并行处理。在流水线上,ARM7是三级流水线,ARM9是五级流水线。由于结构不同,ARM7的执行效率低于ARM9。平时所说的ARM7、ARM9实际上指的是ARM7TDMI、ARM9TDMI软核,这种处理器软核并不带有MMU和cache,不能够运行诸如linux这样的嵌入式操作系统。而ARM公司对这种架构进行了扩展,所以有了ARM710T、ARM720T、ARM920T、ARM922T等带有MMU和cache的处理器内核。 从上面的介绍可以看出,ARM9是处理器核心,可以看做是芯片的心脏;而STM32是一个系列的单片机型号,是芯片IC本身。 那么,单片机都拥有哪些核心呢? 最早的单片机时51核的,后期出现了AVR、ARM、PIC、Power PC、RISCV等内核。不同的内核具有不同的架构和指令集,对应的汇编语言指令就会有区别。 单片机的内核架构主要是哈佛架构和冯诺依曼架构(又叫普林斯顿架构)。HARVARD(哈佛)架构:ROM(程序空间)与RAM(数据空间)分开,便于程序与数据的同时访问,减少程序运行时访问的瓶颈,提高数据吞吐。PRINCETON(普林斯顿)架构:采用通用计算机广泛使用的ROMRAM合二为一的方式,就是众所周知的冯诺依曼结构,程序指令存储地址和数据指令存储地址指向同一存储器不同位置,因此程序指令和数据的宽度相同。 STM32单片机使用的是ARM核,ARM核使用的是哈佛架构。 ARM处理器包括了ARM7、ARM9、ARMCortex等系列。其中ARMCORTEX不是代表更高端,而是一个全新的系列,CORTEX分三个系列:A系列,R系列,M系列。A系列是面向应用的,如苹果公司的iphone4就是cortexA8架构的,但是A系列的底层嵌入式开发难度很大,国内很少有公司有实力开发ARM A系列处理器并采用;在R系列里,实时性高,多用于汽车电子和特殊行业,并且在实际开发中很少遇到;M系列终端快,多应用于机械加工领域,典型的产品有M0,M3,M4,其中M0是为了抢占传统的51单片机市场,M3是为了取代ARM7,M4在M3的基础上增加了DSP和MPU,这是为了与低端的DSP处理器竞争。 STM32单片机使用的就是ARM Cortex-M系列内核,包括M0、M0+、M3、M4、M7等。 由以上内容可知,STM32是芯片IC本身,是芯片的身体,而ARM是处理器内核,是芯片的心脏。但是STM32并没有使用ARM9内核,而是使用的ARM Cortex-M系列内核。
|