ARM有两个含义:一是指ARM公司;二是指采用ARM内核的芯片。
1978年12月,物理学家Hermann Hauser和工程师Chris Curry在英国剑桥创办了CPU公司,主要业务是为当地市场供应电子设备,1979年公司改名为Acorn公司。Acorn公司起初打算使用摩托罗拉的16位芯片,但是发现这种芯片运行速度慢且价格高,转而向Intel公司索要80286芯片的设计资料,但是遭到了拒绝,于是决定自行研发芯片。
1985年,Acorn公司的Roger Wilson和Steve Furber带领的团队设计出自己的第一代32位、6MHz处理器,他们用它做出了一台RISC指令集的计算机,简称ARM(Acorn RISC Machine),ARM名称由此而来。RISC意为“精简指令集计算机”(Reduced Instruction Set Computer),其支持的指令比较简单,所以功耗小、价格便宜,特别适合移动设备,早期使用ARM芯片的典型设备就是苹果公司的牛顿PDA。
1990年11月27日,Acorn公司正式更名为ARM公司。ARM公司现在既不生产芯片也不销售芯片,它只出售芯片技术(ARM内核)授权,其他公司获得授权后,可以在ARM内核基础上进行扩展设计而生产出自己的芯片。20世纪90年代至今,采用ARM内核的芯片应用到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。
如果将采用ARM内核的芯片当作一台计算机,ARM内核就相当于计算机中的CPU。ARM公司将ARM内核的技术资料(比如内核的电路和设计文件等)授权给其他公司,这些公司在ARM内核的基础上进行扩展设计(比如增加存储器、IO接口和片上外设等),再生产出芯片,该芯片称作ARM内核芯片,简称ARM芯片,其结构如图1-1所示。
图1-1 ARM内核芯片的结构
与计算机的CPU一样,ARM内核也不断升级,其版本主要有ARM1~ARM11,在ARM11之后改用Cortex命名,并分成A、R和M三个系列。
Cortex-A系列面向基于虚拟内存的操作系统和用户应用(如智能手机、平板电脑和机顶盒等)。
Cortex-R系列用作实时系统(如硬盘、打印机、蓝光播放器和汽车等)。
Cortex-M系列用作微控制器。STM32单片机采用Cortex-M内核。
STM32单片机中,ST表示意法半导体公司,M表示微控制器(Microelectronics),32表示32bit,STM32意为意法半导体公司生产的32bit单片机。图1-2是几种常见的STM32单片机。
图1-2 几种常见的STM32单片机
STM32单片机采用ARM的Cortex-M内核(又分为M0~M7内核),不同系列的STM32单片机采用的内核见表1-1。
表1-1 不同系列的STM32单片机采用的内核
续表
STM32单片机的型号含义(以STM32F1xx系列为例)如图1-3所示。
图1-3 STM32单片机的型号含义