概念区分与解析
stm32: 即ST公司开发的32位MCU(Microcontroller Unit,微控制单元,也就是我们常说的单片机)。
ARM7、ARM9、ARM11: 都是内核的名称,由ARM公司设计的内核。ARM既是一家公司,也是一类处理器核心的统称。他们使用了不同的架构,ARM7使用ARMv4架构,ARM7使用ARMv5架构,ARM11使用ARMv6架构。ARM7没有MMU单元也就没有办法为多用户多进程分配进程自己的地址空间,所以ARM7无法运行Linux这种多用户多进程操作系统,而ARM9、ARM11带有MMU内存管理单元。
Cortex、M4、M7: 也是内核名称,只不过在ARMv7架构之后都以Cortex来命名。M4、M7是属于Cortex-M系列的内核,此外还有M0,他们的主频和功耗不同。Cortex目前有三大系列,Cortex-M系列主要用于单片机,也就是微控制器,偏向于控制领域;Cortex-A系列主要用于微处理器,面向高端的操作系统,如安卓,数字电视等;Cortex-R系列用于实时系统,比如汽车制动等。
MCU与CPU: MCU是把CPU的频率与规格进行缩减,并将内存、计数器、A/D、DMA、USRT等整合在一个芯片上,形成的芯片级计算机。CPU是中央处理单元,他是计算机系统的运算和控制核心,是数据处理和程序运行的执行单元。MCU一般是集成了CPU、ROM、RAM、计算器/定时器、以及各种IO接口的微型计算机。
说到这里不得不提一下SOC和MPU。
MPU: 微处理器,可以理解为功能更强大的CPU,但它不是控制器。
SOC: 片上系统,在单个芯片上集成一个完整的计算机系统,属于系统级芯片,功能要比MCU强大。
ARMv4、ARMv5、ARMv6、ARMv7: ARM指令集架构,指令集是处理器能够识别并执行的指令集合,每一个指令可处理一个操作,并对应了一条或几条汇编指令。ARM是基于精简指令集RISC的,指令格式和长度固定,且大多数指令可在一个周期内执行完。
CMSIS: Cortex Microcontroller Software Tnterface Standard, ARM微控制器软件接口标准。ARM公司只提供芯片标准,负责芯片内核的架构设计。而具体由TI、ST等公司根据ARM内核标准来设计芯片。例如不同公司的M4芯片,他们只是存储器、片上外设IO等不同,但他们的内核都是一样的。