|
STM32的基本知识 / L! d2 [& H( @; D6 j1 V' P. q- n! J1 V4 A; z I; x8 _: A, c STM32简介 7 ~; A6 i0 i4 W / ], E! E c6 V4 t$ {, W2 I; B STM32是“意法半导体”生产的基于“ARM公司Cortex-M3内核”的32位高性能MCU。 ~ ST——芯片制造商意法半导体,SOC厂商 ~ ARM——IP厂商,负责芯片内核设计的公司 ~ M——Microelectronics的缩写,指微控制器 ~32——指它是一个32位的微控制器 注意:51单片机是5V工作电压,而STM32是3.3V工作电压。STM32芯片结构,如下图所示。( h* R* o4 K e/ r* x
ARM7和STM32的内核都是由ARM公司设计的。ARM7内核采用的是冯诺依曼结构(也就是计算机CPU采用的结构)而STM32采用的是哈佛结构。STM32是ARM公司设计出来取代ARM7的,所以它的性能优于ARM7。
~"M系列"对微控制器。 ~“R系列”针对嵌入式实时操作系统他。, S; Y* t* z$ ] ~“A系列”面向尖端的基于虚拟内存的操作系统和用户应用。传统的ARM7采用ARMv4T架构。6 U# a2 q% [9 w8 y8 X! l 7 C) m2 Z) U6 I& Z# Q* N( Z 由于51单片机最早出现在中国市场,导致很多人嵌入式学习路线是这样的:51单片机→ARM7→ARM9→ARM11。 ' k8 y8 l; U" ^ ; S6 z, @8 O0 ~! q! `& b Cortex-M3内核系列 STM32下的产品分类。
通过产品所需芯片的引脚数量和flash容量来粗略确定所需芯片。+ ~! _8 E+ l/ |; C) m
在这里我们以STM32F103C8T6为例来说明。, l: [8 q8 M, ?! C, p3 N
STM32内部集成JTAG/SW调试功能,32k到512k的flash。以及I2C、USB、CAN、数模转化等的功能。! b2 q* Y1 t& T0 z
像Windows、MacOS、Linux、Android这些操作系统需要MMU才能跑。而FreeRTOS、ucOS、等不需要MMU。! t1 T3 a7 Q" x) ^! ? ARM公司的Cortex-M3系列不带MMU故不能运行Linux。而Cortex-A系列如ARM9、ARM11带MMU,可以跑Linux。 $ `' u9 n' Y6 I, j0 `! D; h STM32应用场景 ! I6 W3 w) _& c; a; a + C% W! _: \# N: I7 p7 b 智能手环、微型四轴飞行器、扫地机器人、工业自动化控制等场景下都有STM32的身影。; N" ?' ^* ]% z2 [# w& v$ p |
微信公众号
手机版