基于ARM® Cortex®-M0的MCU我也使用过不少,包括STM32-L0系列和STM32-F0系列,以下就来谈一下我的使用感受和见解吧 首先,对于Cortex-M0的产品来说,其性能不会太好。这个系列的MCU属于ARM-v6的架构,而像Cortex-M3、 Cortex-M4和 Cortex-M7等都是采用的ARM-v7的架构,因此首先从架构上面来说,这个Cortex-M0就比其余M系列的处理器要落后,这个架构落后意味着这个MCU的内核更加精简,带来的直接好处就是功耗下降。 另外一个方面就要谈到这个Cortex-M0系列MCU的主频了。Cortex-M0系列MCU的主频一般是32MHz左右,相比起Cortex-M3最经典的单片机STM32F103的72MHz来说主频下降了一半,这也是牺牲性能来降低功耗的另一表现。 但是除了上面这两点之外,M0的处理器的制片工艺也是得到了改善的,它一般采用de是40nm的工艺,而传统的M3采用的是90nm的工艺,这是降低功耗的又一举措。 虽然功耗下降,但是Cortex-M0的flash和SRAM并不输给其余M系列的MCU,因此程序存储和数据存储的空间还是足够的。 因此,我对于Cortex-M0系列产品的见解主要就是以下几点: 1、用于对处理速度要求不高的的场合,特别适合用来作为传统的八位单片机包括像8051和STM8的替代者。因为8051和STM8这类八位单片机的处理速度同样不高,而且功耗高于Cortex-M0系列。 2、用于需要低功耗的场合,比如说可穿戴设备或者是独立安装的传感器单元。这种场合没有额外的电源,往往只能靠电池维持,而且这种场合下需要的运算速度同样不会太高。 3、不适合作为M3\M4这类MCU的替代者。使用M3\M4这类MCU的往往都是对于性能有一定要求的场合,比如运动控制器、电源控制、传感器平台等。这种场合由于有大功率电源供电,因此根本不需要考虑功耗,而且这些场合要求的运算速度比较高。 以上属于本人个人看法。