STM32简介

STM32是“意法半导体”生产的基于“ARM公司Cortex-M3内核”的32位高性能MCU。

  • ST——芯片制造商意法半导体,SOC厂商
  • ARM——IP厂商,负责芯片内核设计的公司
  • M——Microelectronics的缩写,指微控制器
  • 32——指它是一个32位的微控制器

注意:51单片机是5V工作电压,而STM32是3.3V工作电压。STM32芯片结构,如下图所示。

打开网易新闻 查看更多图片

STM32和ARM7的关系

ARM7和STM32的内核都是由ARM公司设计的。ARM7内核采用的是冯诺依曼结构(也就是计算机CPU采用的结构)而STM32采用的是哈佛结构。STM32是ARM公司设计出来取代ARM7的,所以它的性能优于ARM7。

Cortex-M3系列属于ARMv7架构,ARMv7架构的不同内核有不同的应用场合:

  • "M系列"对微控制器。
  • “R系列”针对嵌入式实时操作系统他。
  • “A系列”面向尖端的基于虚拟内存的操作系统和用户应用。传统的ARM7采用ARMv4T架构。

由于51单片机最早出现在中国市场,导致很多人嵌入式学习路线是这样的:51单片机→ARM7→ARM9→ARM11。

Cortex-M3内核系列

STM32下的产品分类。

打开网易新闻 查看更多图片

STM32与STM8产品特点

通过产品所需芯片的引脚数量和flash容量来粗略确定所需芯片。

STM32与STM8的分类,如下表。

STM32微处理器的命名规则

在这里我们以STM32F103C8T6为例来说明。

打开网易新闻 查看更多图片

STM32内部结构

STM32内部集成JTAG/SW调试功能,32k到512k的flash。以及I2C、USB、CAN、数模转化等的功能。

STM32运行Linux

像Windows、MacOS、Linux、Android这些操作系统需要MMU才能跑。而FreeRTOS、ucOS、等不需要MMU。

ARM公司的Cortex-M3系列不带MMU故不能运行Linux。而Cortex-A系列如ARM9、ARM11带MMU,可以跑Linux。

STM32应用场景

智能手环、微型四轴飞行器、扫地机器人、工业自动化控制等场景下都有STM32的身影。