STM32简介
注意:51单片机是5V工作电压,而STM32是3.3V工作电压。STM32芯片结构,如下图所示。
ARM7和STM32的内核都是由ARM公司设计的。ARM7内核采用的是冯诺依曼结构(也就是计算机CPU采用的结构)而STM32采用的是哈佛结构。STM32是ARM公司设计出来取代ARM7的,所以它的性能优于ARM7。
Cortex-M3系列属于ARMv7架构,ARMv7架构的不同内核有不同的应用场合:
由于51单片机最早出现在中国市场,导致很多人嵌入式学习路线是这样的:51单片机→ARM7→ARM9→ARM11。
STM32下的产品分类。
通过产品所需芯片的引脚数量和flash容量来粗略确定所需芯片。
在这里我们以STM32F103C8T6为例来说明。
STM32内部集成JTAG/SW调试功能,32k到512k的flash。以及I2C、USB、CAN、数模转化等的功能。
像Windows、MacOS、Linux、Android这些操作系统需要MMU才能跑。而FreeRTOS、ucOS、等不需要MMU。
ARM公司的Cortex-M3系列不带MMU故不能运行Linux。而Cortex-A系列如ARM9、ARM11带MMU,可以跑Linux。
STM32应用场景
智能手环、微型四轴飞行器、扫地机器人、工业自动化控制等场景下都有STM32的身影。