关于STM32的基本知识

本文参考:原子和野火STM32教学视频

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

ST----意法半导体,即SOC厂商(芯片制造商)。ARM----IP厂商,负责芯片内核设计的公司

M-----Microelectronics的缩写,指微控制器。微处理器通常指计算机CPU。

32------指它是一个32位的微控制器。

注意:51单片机是5V工作电压而STM32是3.3V工作电压。

                                                    STM32芯片结构

2、STM32和ARM7的关系

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

Cortex-M3系列属于ARMv7架构,ARMv7架构的不同内核有不同的应用场合:1、"M系列"对微控制器。2、“R系列”针对嵌入式实时操作系统他。3、“A系列”面向尖端的基于虚拟内存的操作系统和用户应用。传统的ARM7采用ARMv4T架构。

以前很多人的嵌入式学习路线:51单片机~ARM7~ARM9~ARM11

现在很多人的嵌入式学习路线:51单片机~Cortex-M系列~Cortex-R系列~Cortex-A系列

                                         

3、Cortex-M3内核系列

 

 

4、粗略选型

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

5、关于STM32微处理器的命名规则

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

 

 

6、STM32微处理器内部结构

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

 

 

7、STM32是否可以跑Linux

首先介绍虚拟内存管理单元,即MMU。操作系统分为两种:Windows、MacOS、Linux、Android这些操作系统带MMU才能跑;而FreeRTOS、ucOS、等不需要MMU。

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

8、STM32应用场景

智能手环、微型四轴、扫地机器人、工业自动化控制等

猜你喜欢

转载自blog.csdn.net/qq_36192043/article/details/81078932