[Cortex-M3]-0-M3介绍
目录
1 cotex-M3的优势?
学习cotex-M3之前,需要明白,为什么要选择这款处理器,它有什么优点,使用它能给我们带来什么?
CM3相比较于其他处理器,优势在于:
优势 | 描述 |
性能强劲 | 相同的主频下,能做处理更多任务。 |
功耗低 | 延长电池寿命——便携式设备福音(如无线网络应用) |
实时性好 | 能极速响应中断,响应中断所需周期数固定。 |
代码密度得到很大改善 | 一方面力挺大型应用程序,另一方面为低成本设计而省吃俭用。 |
丰富的优秀开发工具 | 免费的,便宜的,全能的,要什么有什么。 |
2 M3产品分类
通常情况,目前M3的产品分为两种:
M3内核 | Cortex‐M3处理器内核是单片机的中央处理单元(CPU) |
基于M3的MCU |
|
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美元 |
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击