STM32和ARM的不同之处,带你深入了解

  1. 什么是ARM

ARM:(Advanced RISC Machines)高级精简指令集微处理器。

它有几层含义:

ARM是一个公司,英国公司。只发售芯片的技术授权。

ARM是全球领先的32位嵌入式RISC芯片内核设计公司,RISC–精简指令集计算机,特点是所有的指令的格式都是一样的,所有指令的指令周期也是一样的;ARM自身并不出产和销售芯片,全球顶尖的芯片制造公司,例如Actel 、 TI、ST、Fujitsu、NXP等均购置ARM的内核,联合各自的技术优势进行出产的销售。

文章较长,先点赞关注不迷路,以后想再次阅读的时候容易找到///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像黑色字体加我也能领取哦。最近比较闲,带做毕设,带学生参加省级或以上比赛///

ARM是一个内核,而不是我们通常看到的芯片。

ARM内核的体系架构经历了6个版本:V1-V6

arm与stm32的优缺点(STM32和ARM的不同之处带你深入了解)(1)

ARM9、ARM10对应V5架构,ARM11对应V6架构,时钟频次为350-500Mhz,最高可达1Ghz。

  1. 什么是STM32?

STM32单片机是ST(意法半导体)公司基于arm公司的cortex-M3为核心出产的32bit系列的单片机。

STM32字面含义

arm与stm32的优缺点(STM32和ARM的不同之处带你深入了解)(2)

STM32分类

CPU位数 内核 系列

32 Cortex-M0 STM32-F0/L0

32 Cortex-M3 STM32-F1/F2/L1

32 Cortex-M4 STM32-F3/F4/L4

32 Cortex-M7 STM32-F7

  1. STM32的命名方法

arm与stm32的优缺点(STM32和ARM的不同之处带你深入了解)(3)

下图中左上角的Cortex-M3就是ARM核中的一种,(ARM的品种在其他几位大佬的答复中,已经解释的很多了),一般包括:ALU、移位寄存器、存储器、指令译码、逻辑控制器等功能,也就是达到了MCU的核心运算功能。假如一个片上系统相当于一个人,那么ARM核的功能相当于就是人的大脑,而上图中其它的模块,就相当于人的躯干或者内脏等功能区域。

arm与stm32的优缺点(STM32和ARM的不同之处带你深入了解)(4)

要知道现代芯片设计和出产已经高度分工,一个STM32F103芯片中的模块(也就是上图中的颜色各异的方块)并不是全部都由ST这一家公司独立完成的,反而是由不同的专业团队各自设计其中的一块或几块,再由ST公司(购置后)拼接在自己设计的芯片中。

假如SPI模块是由公司A授权运用,CAN模块是由公司B授权运用,ST拿到这些模块之后再通过规范总线将他们连接起来,就变成了一块MCU,虽然可能A和B就是ST的子公司或内部团队。也就是说,芯片公司在设计一款芯片的时候,在一定程度上和我们去电脑城组装一台电脑有点相似,当然复杂性更高,以及更多工作要做。

所以芯片公司在设计通用芯片时,会考虑到芯片的核心运算功能通用性比较高,也就是不同芯片其实对核心运算功能的要求很相似(不同人的大脑构造相似),所以不会专门花心思去设计这一局部,反而芯片公司会去购置专门设计内核的公司设计出的内核。我们这里探讨的ARM核就是一种专门卖给芯片公司运用的内核。

综上所述,STM32是运用了ARM核的MCU,其实除了STM32,ARM核的运用范围很广,TI与Freescale也有运用ARM核的MCU与SOC。我们通常把运用ARM核作为核心运算功能的片上系统叫做ARM芯片,于是对ARM芯片的开发,就是题主所说的ARM编程。由于ARM芯片在运用上其实大同小异,同时STM32芯片举荐运用的KEIL开发套件运用起来很好上手,所以题主通过运用STM32来入门ARM编程也是很好的。

对单片机感兴趣的朋友可以找我,我录制了一些关于单片机的入门教程,有需要的童鞋找我拿就像,免费的,私信我“林老师”就可以拿~点击打开我的头像就能领取

,