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的身影。
,