zl程序教程

您现在的位置是:首页 >  其他

当前栏目

[Cortex-M3]-0-M3介绍

2023-04-18 14:13:00 时间

目录

1 cotex-M3的优势?

2 M3产品分类

3 ARM背景和架构

4 M3为什么会出现MPU?

5 M3的指令集发展历程

6 M3的应用场景


1 cotex-M3的优势?

        学习cotex-M3之前,需要明白,为什么要选择这款处理器,它有什么优点,使用它能给我们带来什么?

        CM3相比较于其他处理器,优势在于:

优势

描述

性能强劲

相同的主频下,能做处理更多任务。

功耗低

延长电池寿命——便携式设备福音(如无线网络应用)

实时性好

能极速响应中断,响应中断所需周期数固定。

代码密度得到很大改善

一方面力挺大型应用程序,另一方面为低成本设计而省吃俭用。

丰富的优秀开发工具

免费的,便宜的,全能的,要什么有什么。

2 M3产品分类

        通常情况,目前M3的产品分为两种:

M3内核

Cortex‐M3处理器内核是单片机的中央处理单元(CPU)

基于M3MCU

3 ARM背景和架构

        ARM的背景资料太多不在追溯。

        ARM的版本历程可以参考下图:

4 M3为什么会出现MPU?

        MMU,存储器管理单元,用于实现虚拟内存和物理内存的分区保护,是应用处理器与嵌入式处理器的分水岭

        电脑和数码产品所使用的处理器几乎清一色地都带MMU。但是MMU也引入了不确定性,这有时是嵌入式领域——尤其是实时系统不可接受的。然而对于安全关键(safety‐critical)的嵌入式系统,还是不能没有内存的分区保护的。为解决矛盾,于是就有了MPU。可以把MPU认为是MMU的功能子集,它只支持分区保护,不支持具有“定位决定性”的虚拟内存机制。

5 M3的指令集发展历程

        学习一款处理器,其指令集的学习是无法避免了,整理出ARM指令集的发展历程如下:

        以前:ARM处理器一直支持两种形式上相对独立的指令集,它们分别是:

  • 32位的ARM指令集。对应处理器状态:ARM状态
  • 16位的Thumb指令集。对应处理器状态:Thumb状态

        这两种指令集对应两种处理器执行状态。在程序的执行过程中,处理器可以动态地在两种执行状态之中切换。实际上,Thumb指令集在功能上是ARM指令集的一个子集,但它能带来更高的代码密度,给目标代码减肥。

        2003年,Thumb-2指令集问世,它是16位Thumb指令集的一个超集,在Thumb‐2中,16位指令首次与32位指令并存,两者(Thumb和Thumb-2)的关系参考下图:

        Cortex‐M3勇敢地拒绝了32位ARM指令集,却把自己的处理能力全托给Thumb‐2指令集。

6 M3的应用场景

低成本单片机

CM3适合做单片机,甚至简单到用于做玩具和小电器的单片机,都能使用CM3作为内核。

汽车电子

CM3同时拥有非常高的性能和极低的中断延迟,打入实时领域的大门。

数据通信

CM3的低成本+高效率,加上Thumb‐2的强大位操作指令集。

工业控制

在工控场合,关键的要素在于简洁、快速响应以及可靠。

消费类产品

现在最便宜的M3 MCU不到1美元

 

=>>总目录<<=