欢迎来到天天文库
浏览记录
ID:19477376
大小:1.23 MB
页数:41页
时间:2018-10-02
《cortex m3微控制器概述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、CortexM3微控制器概述一、CortexM3处理器的特点ARM处理器系列。CM3微控制器的特点。CM3微控制器的开发方法。ARM处理器系列ARM在1990年成立,当初的名字是“AdvancedRISCMachinesLtd.,”ARM把处理器的设计授权给相关的商务合作伙伴,让他们去根据自己的强项设计具体的芯片。基于ARM低成本和高效的处理器设计方案,得到授权的厂商生产了多种多样的的处理器、单片机以及片上系统(SoC)。这种商业模式就是所谓的“知识产权授权”。ARMv7架构的闪亮登场。在这个版本中,内核架构首次从单一款式
2、变成3种款式。款式A:设计用于高性能的“开放应用平台”——越来越接近电脑了款式R:用于高端的嵌入式系统,尤其是那些带有实时要求的——又要快又要实时。款式M:用于深度嵌入的,单片机风格的系统中。款式A(ARMv7-A):需要运行复杂应用程序的“应用处理器”。支持大型嵌入式操作系统,比如Symbian(诺基亚智能手机用),Linux,以及微软的WindowsCE和智能手机操作系统WindowsMobile。这些应用需要劲爆的处理性能,并且需要硬件MMU实现的完整而强大的虚拟内存机制,还基本上会配有Java支持,有时还要求
3、一个安全程序执行环境(用于电子商务——译注)。典型的产品包括高端手机和手持仪器,电子钱包以及金融事务处理机。款式R(ARMv7-R):硬实时且高性能的处理器。标的是高端实时[注1]市场。那些高级的玩意,像高档轿车的组件,大型发电机控制器,机器手臂控制器等,它们使用的处理器不但要很好很强大,还要极其可靠,对事件的反应也要极其敏捷。款式M(ARMv7-M):认准了旧世代单片机的应用而量身定制。在这些应用中,尤其是对于实时控制系统,低成本、低功耗、极速中断反应以及高处理效率,都是至关重要的。Cortex系列是v7架构的第一次亮相
4、,其中Cortex-M3就是按款式M设计的。由于历史原因(从ARM7TDMI开始),ARM处理器一直支持两种形式上相对独立的指令集,它们分别是:32位的ARM指令集。对应处理器状态:ARM状态16位的Thumb指令集。对应处理器状态:Thumb状态这两种指令集也对应了两种处理器执行状态。在程序的执行过程中,处理器可以动态地在两种执行状态之中切换。实际上,Thumb指令集在功能上是ARM指令集的一个子集,但它能带来更高的代码密度,给目标代码减肥。Thumb2指令集则是Thumb指令集的改进,具有更高的效率和更紧凑的尺寸。CM
5、3处理器完全采用Thumb2指令集,更适合微控制器应用。高性能+高代码密度+小硅片面积,3璧合一,使得CM3大面积地成为理想的处理平台:低成本单片机:CM3与生俱来就适合做单片机,甚至简单到用于做玩具和小电器的单片机,都能使用CM3作为内核。这里本是8位机和16位机统治最牢固的腹地,但是CM3更便宜,更高性能,更易使用,所以值得开发者们转到这个新生的ARM32位系统中来,哪怕花点时间重新学习。汽车电子:CM3也是汽车电子的好俅。CM3同时拥有非常高的性能和极低的中断延迟,打入实时领域的大门。CM3处理器能支持多达240
6、个外部中断,内建了嵌套向量中断控制器,还可以选择配上一个存储器保护单元(MPU)。所有这些,使它用于高集成度低成本的汽车应用最合适不过了。数据通信:CM3的低成本+高效率,再加上Thumb-2的强大位操作指令s,使CM3非常理想地适合于很多数据通信应用,尤其是无线数传和Ad-Hoc网络,如ZigBee和蓝牙等。工业控制:在工控场合,关键的要素在于简洁、快速响应以及可靠。再一次地,CM3处理器的中断处理能力,低中断延迟,强化的故障处理能力(fault-handing,以后fault就不再译成中文了——译注),足以让它能昂
7、首挺胸地踏入这片热土。消费类产品:以往,在许多消费产品中,都必须使用一块甚至好几块高性能的微处理器。你别看CM3只是个小处理器,它的高性能和MPU机制可是足以让复杂的软件跑起来的,同时提供健壮的存储器保护。目前在市场上已经有了好多基于Cortex-M3内核的处理器产品,最便宜的还不到1美元,让ARM终于比很多8位机还便宜了。2.CM3微控制的特点Cortex-M3是一个32位处理器内核。内部的数据路径是32位的,寄存器是32位的,存储器接口也是32位的。CM3采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据
8、访问并行不悖。这样一来数据访问不再占用指令总线,从而提升了性能。操作模式和特权极别Cortex-M3处理器支持两种处理器的操作模式,还支持两级特权操作。两种操作模式分别为:处理者模式(handlermode,以后不再把handler中译——译注)和线程模式(threadmode)。引入两个模式的本意,是
此文档下载收益归作者所有