ARM相关概念的区分
ARM7:ARMv4架构,ARM9:ARMv5架构,ARM11:ARMv6架构,ARM-Cortex系列:ARMv7架构。
ARM7没有MMU(内存管理单元),只能叫做MCU(微控制器),不能运行诸如Linux、WinCE等这些现代的多用户多进程操作系统,因为运行这些系统需要MMU,才能给每个用户进程分配进程自己独立的地址空间。ucOS、ucLinux这些精简实时的RTOS不需要MMU,当然可以在ARM7上运行。
ARM9、ARM11,是嵌入式CPU(处理器),带有MMU,可以运行诸如Linux等多用户多进程的操作系统,应用场合也不同于ARM7。
到了ARMv7架构的时候开始以Cortex来命名,并分成Cortex-A、Cortex-R、Cortex-M三个系列。三大系列分工明确:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器。简单的说Cortex-A系列是用于移动领域的CPU,Cortex-R和Cortex-M系列是用于实时控制领域的MCU。
所以看上去ARM7跟Cortex-M很像,因为他们都是MCU,但确是不同代不同架构的MCU(Cortex-M比ARM7高了三代!),所以性能也有很大的差距。此外,Cortex-M系列还细分为M0、M3、M4和超低功耗的M0+,用户依据成本、性能、功耗等因素来选择芯片。
想必读者现在肯定知道了ARM7、Cortex-M的区别,不过还是花了点时间整理在此,可以帮助后来的初学者搞明白这些基本的概念性问题。