一、STM32 32 位 MCU 系列概述
参看:STM32 微控制器
参看:维基百科 – STM32
STM32 系列 32 位闪存微控制器基于 ARM® Cortex® M 处理器。 它提供的 32 位产品系列,具有超高性能、实时功能、数字信号处理、低功耗和低电压工作等特性,同时还拥有全集成和易开发的优势。
STM32 器件基于行业标准的 ARM® Cortex®-M0、M0+、M3、M4 和 M7 内核,配备种类繁多的工具和软件可供选择,使得该系列产品成为适合独特项目乃至完整平台决策的卓越之选。STM32 各系列之间可轻松移植,从而缩短上市时间。
我现在主要接触到三款,一个是STM32F103、STM32F105、STM32F429.
那就看看下面这两类:
1、STM32F1 系列主流 MCU
STMicroelectronics (意法半导体)的 STM32F1 系列主流 MCU,可满足工业、医疗和消费电子市场的各种应用需求。 凭借这一系列,ST 在 ARM® Cortex™-M 微控制器领域占据领先地位,并树立了嵌入式应用历史的里程碑。
工作频率最高达 72 MHz
1 MB 闪存
以太网 MAC、CAN 和 USB 2.0 OTG 通信接口
61 DMIPS / 177 CoreMark
该器件采用 LQFP64、LQFP100、LQFP144 和 WLCSP64 封装。
2、具有 DSP 和 FPU 指令的 STM32F4 系列高性能 MCU
基于 ARM® Cortex®-M4 的 STM32F4 系列 MCU 采用 STMicroelectronics 的 NVM 技术和 ST 的 ART Accelerator™,在高达 180 MHz 的工作频率下,从闪存执行高达 225 DMIPS / 608 CoreMark 的测试,结果达到业界所有 Cortex-M 型微控制器的最高基准分数。
STM32F4 系列包含 7 个系列的数字信号控制器 (DSC),完美结合了 MCU 的实时控制功能和 DSP 的信号处理性能:
STM32F401 – 84 MHz CPU/105 DMIPS,最小的高性价比解决方案,具有出色的功率效率(动态效率系列)
STM32F411 – 100 MHz CPU/125 DMIPS,具有出色的功率效率以及大 SRAM 和新智能 DMA,可优化数据批处理的功耗(带批量采集模式的动态效率系列)
STM32F446 – 180 MHz/225 DMIPS,高达 512 KB 闪存,并配备双 Quad SPI 和 SDRAM 接口
STM32F405/415 – 168 MHz CPU/210 DMIPS,高达 1 MB 闪存,配备高级连接功能和加密功能
STM32F407/417 – 168 MHz CPU/210 DMIPS,高达 1 MB 闪存,增加以太网 MAC 和相机接口
STM32F427/437 – 180 MHz CPU/225 DMIPS,高达 2 MB 双组闪存,配备 SDRAM 接口、Chrom-ART Accelerator™、串行音频接口,性能更高,静态功耗更低
STM32F429/439 – 180 MHz CPU/225 DMIPS,高达 2 MB 双组闪存,配备 SDRAM 接口、Chrom-ART Accelerator™ 和 LCD-TFT 控制器
STM32F469/479 – 180 MHz CPU/225 DMIPS,高达 2 MB 双组闪存,配备 SDRAM 和 QSPI 接口、Chrom-ART Accelerator™、LCD-TFT 控制器和 MPI-DSI 接口
记不住这些,器件选型怎么办?
参看:ARM微控制器 - MCU,器件选型
二、Cortex内核
讲Cortex内核不得不提下ARM架构.
1、ARM架构
参看:维基百科 – ARM架构
可以看到Cortex-M系列属于ARMv7架构的。
ARMv7架构定义了三大分工明确的系列:
“A”系列:面向尖端的基于虚拟内存的操作系统和用户应用
“R”系列:针对实时系统;
“M”系列:对微控制器。
参看:维基百科 – ARM架构英文
STM32F1 属于Cortex-M系列中的Cortex-M3内核,采用ARMv7-M架构。
STM32F4 属于Cortex-M系列中的Cortex-M4内核,采用ARMV7E-M架构。
Cortex-A5/A8采用ARMv7-A架构。
传统的ARM7系列(ARM7TDMI、ARM7TDMI-S)采用的是ARMv4T架构。
2、Cortex-M家族
3、Cortex-M3
Cortex-M3内核的主要特性如下:
- ARMv7-M架构
- 3级流水线与分支推测。
- 指令集:
Thumb-1(整个)。
Thumb-2(整个)。
32位硬件整数乘以32位或64位结果,有符号或无符号,乘法后加或减。32位乘法是1个周期,但是64位乘法和MAC指令需要额外的周期。
32位硬件整数除法(2-12个周期)。
饱和算术支持。
1到240个中断,加上NMI。
12个周期中断延迟。
集成的睡眠模式。 - 硅选项:
可选内存保护单元(MPU):0或8个区域。
4、Cortex-M4
从概念上讲,Cortex-M4是Cortex-M3 plus DSP指令和可选的浮点单元(FPU)。如果内核包含FPU,则它被称为Cortex-M4F,否则它是Cortex-M4。
Cortex-M4核心的主要特点是:
- ARMv7E-M架构
- 3级流水线与分支推测。
- 指令集:
Thumb-1(整个)。
Thumb-2(整个)。
32位硬件整数乘以32位或64位结果,有符号或无符号,乘法后加或减。32位乘法和MAC是1个周期。
32位硬件整数除法(2-12个周期)。
饱和算术支持。
DSP扩展:单周期16/32位MAC,单周期双16位MAC,8/16位SIMD算法。
1到240个中断,加上NMI。
12个周期中断延迟。
集成的睡眠模式。 - 硅选项:
可选浮点单元(FPU):仅符合IEEE-754标准的单精度。它被称为FPv4-SP扩展。
可选内存保护单元(MPU):0或8个区域。