ARM处理器选型指南:选ARM7还是选Cortex-M3
arm芯片选型
arm芯片选型在选择ARM芯片时,需要考虑一系列因素,包括性能要求、功耗要求、功能要求等等。
以下是一些常见的ARM芯片选型指南。
首先,要考虑应用场景和性能要求。
如果您的应用需要高性能处理,可以考虑选择高端的ARM芯片,比如ARM Cortex-A 系列,如Cortex-A76、Cortex-A77等。
这些芯片在多核处理和浮点计算方面具有优势,适用于需要高计算能力的应用,比如服务器、工作站和高端嵌入式系统。
如果您的应用对性能要求不高,或者对功耗有更高的要求,可以选择低功耗ARM芯片,比如ARM Cortex-M系列,如Cortex-M0、Cortex-M3、Cortex-M4等。
这些芯片适用于低功耗应用,比如物联网设备、传感器、嵌入式控制器等。
其次,要考虑开发工具和生态系统支持。
ARM架构是广泛采用的架构,具有丰富的软件和工具支持。
开发人员可以使用ARM提供的开发工具链,如Keil MDK和Arm GCC等,进行软件开发。
此外,ARM还有一个庞大的社区和生态系统,开发人员可以从中获得技术支持和资源共享。
第三,要考虑成本因素。
不同的ARM芯片具有不同的定价,选择芯片时需要根据预算和性能需求来进行权衡。
通常来说,高性能ARM芯片的价格相对较高,低功耗ARM芯片的价格相对较低。
第四,要考虑通信接口和外设支持。
不同的ARM芯片具有不同的通信接口和外设支持,比如UART、SPI、I2C、USB、Ethernet等。
根据应用需求,选择具备相应接口和外设支持的芯片是非常重要的。
最后,要考虑供应商支持和产品可靠性。
选择有良好供应链的供应商,并对其产品的可靠性进行评估,是确保系统稳定性和可维护性的关键。
总结起来,ARM芯片的选型需考虑性能要求、功耗要求、功能要求、开发工具和生态系统支持、成本因素、通信接口和外设支持、供应商支持和产品可靠性等因素。
只有综合考虑这些因素,并根据应用需求进行权衡,才能选择到适合的ARM芯片。
ARM7 与 Cortex-M3的性能比较
【程序】ARM7 与 Cortex-M3的性能比较文章来源:EDN 博客 作者:jgw文章导读:本程序为ARM7 与 Cortex-M3的性能比较功能特性 ARM7TDMI-SCortex-M3架构ARMv4T(冯·诺依曼)ARMv7(哈佛)指令集支持Thumb/ARMThumb/ Thumb-2流水线3级3级 + 分支预测中断FIQ/IRQNMI +最多240个物理中断中断延迟24—42个时钟周期12个时钟周期休眠模式无内置存储器保护无8段存储器保护单元指令执行速度0.95DMIPS/MHz (ARM模式)1.25DMIPS/MHz功耗0.28mW/MHz0.19mW/MHz面积0.62m2(仅内核)0.86m2(内核 + 外设)* 存储器映射方式4G空间有厂家自由划分4G空间划分由内核确定处理器模式7种处理器模式2种处理器模式*不包含可选系统外设(MPU和ETM)或者集成的部件最近有点小空,想学习一下眼下最流行的ARM,初步了解主流的ARM体系有2个:ARM7和Cortex-M3,下午在网上搜索了一下,结果令我大吃一惊。
本来我以为只要在市场上能共存的两种东西,肯定是各有千秋,否则其中较弱的的一个就会被彻底淘汰。
事实上我看到的却是完全一边倒的局面:Cortex-M3完胜ARM7!以下是摘录的一些对比:Cortex-M3 ARM7最新的ARM内核成熟使用近10年的ARM内核哈佛体系冯诺曼体系只支持最新的Thumb-2指令集支持ARM和Thumb指令集硬件自动压栈软件手工压栈单周期乘法指令多周期乘法指令2-12周期除法指令无除法指令有位操作无位操作内置系统节拍定时器无系统节拍定时器方便操作系统移植指令执行速度1.25DMIPS/MHz 0.95DMIPS/MHz功耗0.19mW/MHz 0.28mW/MHz从以上对比看,Cortex-M3在性能和功耗等方面基本上是完胜ARM7。
ARM Cortex-M3处理器简介 读后感
读后感:ARM Cortex-M3处理器简介ARM, 读后感, 处理器, 简介首先谈谈我对这个系列先入为主的感觉。
Cortex-M3是ARM7的升级版本。
个人认为:ARM7本身并不是完全针对MCU来设计的,但是众多芯片厂家以ARM7为内核做了很多32位MCU芯片。
例如Atmel和NXP的ARM7系列。
Cortex-M3是真正针对MCU应用来设计的,这一点在功能取舍和性能偏向上得到反映。
那么与ARM7相比较,Cortex-M3有哪些区别和特点呢?加速设计:哈佛结构替代ARM7的冯.诺伊曼结构。
哈佛结构就是指令和数据总线分开。
这样取指令和取数据可以同时进行。
很适合将指令放在片内FLASH,将数据放在片内SRAM的MCU结构。
在ARM7的3级流水线之上增加了分支预测。
减少了程序跳转时流水线被打断的时间消耗。
ALU支持硬件乘法和硬件除法。
数学计算能力增强。
单周期32位乘法。
Bit-Band技术:简单地说,就是增强了位操作性能。
SRAM中有专门的Bit-Band区域,可以按位进行寻址(使用别名地址)。
而且,这样的位操作是原子操作。
这在实现互斥功能时有用。
一些DSP运算专用的位操作指令,比如bit翻转。
节省存储器使用量的技术:位寻址是可以节省bool型变量的存储器使用的。
ARM7的short变量要16位对齐、int变量要32位对齐。
Cortex-M3不用对齐。
这个问题,一般看法是,对齐可以简化设计。
个人认为这个好处有限。
指令集的优化。
现在叫Thumb-2了。
ARM7有两种指令集:ARM和Thumb,两种指令模式可以切换。
个人感觉比较怪。
处理器模式的简化:我们知道ARM7有很多种处理器模式,目的主要应该是支持复杂的操作系统。
Cortex-M3的处理器模式现在有两个:Thread模式和handler模式。
Thread模式相当于用户模式了,有两种访问方式:有特权方式和无特权方式。
结构区别:ARM7是个纯内核,中断控制器和存储器接口是芯片厂家扩展的。
arm系列性能比较
ARM系列芯片选择的原则及性能比较分类:ARM相关2011-09-09 11:05 615人阅读评论(0) 收藏举报多媒体处理网络存储电子商务工作产品ARM芯片选择的一般原则:1. 功能USB 网络串口液晶显示2. 性能功耗速度3. 价格4. 操作系统支持5. 熟悉程度和开发资源6. 供货稳定大厂家通用的芯片ARM系列MMU/MPU结构功耗mW/MHz速度MIPS/MHz主频MHz应用领域ARM7 不带3级流水线冯诺依曼结构0.28 0.9 20-133 工业产品ARM9 MMU 5级流水线哈佛结构0.7 1.1 100-233 消费、医疗、工业ARM10E MMU MPU 6级流水线V5架构1000 1.25 300-700 无线设备、数字消费品ARM11 MMU 8级流水线V6架构0.4 350-500消费类、网络,多媒体处理方面优势Cortex Cortex-A MMU V7架构<300 2.0 600-1000 应用,消费、无线产品Cortex-R MMU V7架构0.27 1.62 300实时控制汽车电子、网络和影像系统Cortex-M MPU 3级流水0.19 1.25 100 微控制器、汽车车体系线V7架构统、网络装置SecurCore MPU 5级流水线- -- --安全方面,电子商务,网络银行MMU:存储管理单元MPU:存储保护单元、比较项目ARM7 Cortex-M3架构ARMv4T(冯诺依曼)指令和数据总线共用,会出现瓶颈ARMv7-M(哈佛)指令和数据总线分开,无瓶颈指令集32位ARM指令+16位Thumb指令两套指令之间需要进行状态切换Thumb/Thumb-2指令集16位和32位指令可直接混写,无需状态切换流水线 3级流水线若出现转移则需要刷新流水线,损失惨重3级流水线+分支预测出现转移时流水线无需刷新,几乎无损失性能0.95DMIPS/MHz(ARM模式) 1.25DMIPS/MHz功耗0.28mW/MHz 0.19mW/MHz低功耗模式无内置睡眠模式面积0.62mm2(仅内核)0.86mm2(内核+外设)中断普通中断IRQ和快速中断FIQ太少,大量外设不得不复用中断不可屏蔽中断NMI+1-240个物理中断每个外设都可以独占一个中断,效率高中断延迟 24-42个时钟周期,缓慢12个时钟周期,最快只需6个中断压栈软件手工压栈,代码长且效率低硬件自动压栈,无需代码且效率高存储器保护无8段存储器保护单元(MPU)内核寄存器寄存器分为多组、结构复杂、占核面积多寄存器不分组(SP除外),结构简单工作模式 7种工作模式,比较复杂只有线程模式和处理模式两种,简单乘除法指令多周期乘法指令,无除法指令单周期乘法指令,2-12周期除法指令位操作无访问外设寄存器需分“读-改-写”3步走先进的Bit-band位操作技术,可直接访问外设寄存器的某个值系统节拍定时无内置系统节拍定时器,有利于操作系统移植。
Cortex-M3 权威指南
Cortex-M3权威指南J oseph Yiu 著宋岩 译译序我接触ARM的历史约4年,早期是很欣赏这类处理器,到了后来切身使用它们的机会越来越多,慢慢地有了感觉,也更加喜欢了。
在偶然听说Cortex‐M3后,我就冥冥地感到它不寻常。
只是因为其它工作一直没有去了解它,直到今年初才进一步学习,很快就觉得相知恨晚。
当时只能看ARM官方的重量级资料,在看到这本书的英文原稿后,更感觉被电到了一样,于是突然有了把它翻译成中文的冲动。
经过累计约150个小时的奋战,终于有了此译稿。
在翻译过程中,我始终采用下列指导思想:1.尽量使用短句,并且把句子口语化。
我认为高深的道理不一定要用高级的语法句型才能表达。
想想看,即使是几位博士互相聊天讨论一个课题,也还是使用口语吧,而且火花往往就是在这种讨论中产生呢!2.多用修辞方法,并且常常引用表现力强的词汇——甚至包括网络用语和脍炙人口的歌词。
另外,有时会加工句子,使得风格像是对话。
这样做的目的是整个文风更鲜活——有点像为写出高分作文而努力的样子。
这点可能与很多学术著作的“严肃、平实”文风不同,也是一次大胆的尝试。
还希望读者不吝给予反馈。
3.在“宏观”上直译,在“微观”上意译。
英语不仅单一句子的语法和汉语不同,并且句子的连贯方式也与汉语不同。
因此在十几个到几十个单词的范围内,我先把它们翻译成脑子里的“中间语言”,再把中间语言翻译成汉语。
这样,就最大地避免了贻笑大方的“英式汉语”。
4.有些术语名词不方便翻译成汉语,或者目前的翻译方式不统一,或者与其它术语翻译的结果很接近,如error和fault,就只能用英语意会。
此时我就保留英文单词,相信这样比硬生生地翻译成汉语还好。
这些词汇主要是:retarget, fault, region等。
另外,英文中有一个很能精练表达“两者都”意思的单词及其用法:”both”,我也常常保留之。
5.图表对颜色的使用比较丰满,尤其是比较大型的插图,相信这样能帮助读者分析和理解。
2019转 选择ARM处理器的ARM7还是Cortex M3.doc
转选择ARM处理器的ARM7还是Cortex M31.1 ARM处理器系列每个ARM处理器都有一个特定的指令集架构(ISA),而一个ISA版本又可以有多种处理器实现。
ISA随着嵌入式市场的需求而发展,至今已经有多个版本。
ARM公司规划该发展过程,使得在较早的架构版本上编写的代码也可以在后继版本上执行(即代码的兼容性)。
1.1.1命名规则早期ARM使用如图1.1所示的命名规则来描述一个处理器。
在"ARM"后的字母和数字表明了一个处理器的功能特性。
随着更多特性的增加,字母和数字的组合可能会改变。
注意:命名规则不包含体系结构(ISA)的版本信息。
ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{-S}x--系列y--存储管理/保护单元z--cache T--Thumb 16位译码器D--JTAG调试器M--快速乘法器I--嵌入式跟踪宏单元E--增强指令(基于TDMI)J--Jazelle F--向量浮点单元S--可综合版本图1.1早期ARM命名规则关于ARM命名法则,还有一些附加的要点:?ARM7TDMI之后的所有ARM内核,即使"ARM"标志后没有包含那些字符,也都包括了TDMI功能特性。
?处理器系列是共享相同硬件特性的一组处理器具体实现。
例如,ARM7TDMI、ARM740T和ARM720T都共享相同的系列特性,都属于ARM7系列。
?JTAG是由IEEE 1149.1标准测试访问端口(Standard Test Access Port)和边界扫描结构来描述的。
它是ARM用来发送和接收处理器内核与测试仪器之间调试信息的一系列协议。
?嵌入式ICE宏单元(EmbeddedICE macrocell)是建立在处理器内部用来设置断点和观察点的调试硬件。
?可综合的--意味着处理器内核是以源代码形式提供的,这种源代码形式又可以被编译成一种易于EDA工具使用的形式。
Cortex-M3的优势
ARM Cortex-M3相比于ARM其他系列微控制器,具有以下优势或特点:1. 三级流水线+分支预测ARM Cortex-M3与ARM7内核一样,采用适合于微控制器应用的三级流水线,但增加了分支预测功能。
现代处理器大多采用指令预取和流水线技术,以提高处理器的指令执行速度。
流水线处理器在正常执行指令时,如果碰到分支(跳转)指令,由于指令执行的顺序可能会发生变化,指令预取队列和流水线中的部分指令就可能作废,而需要从新的地址重新取指、执行,这样就会使流水线“断流”,处理器性能因此而受到影响。
特别是现代C语言程序,经编译器优化生成的目标代码中,分支指令所占的比例可达10-20%,对流水线处理器的影响会的更大。
为此,现代高性能流水线处理器中一般都加入了分支预测部件,就是在处理器从存储器预取指令时,当遇到分支(跳转)指令时,能自动预测跳转是否会发生,再从预测的方向进行取指,从而提供给流水线连续的指令流,流水线就可以不断地执行有效指令,保证了其性能的发挥。
ARM Cortex-M3内核的预取部件具有分支预测功能,可以预取分支目标地址的指令,使分支延迟减少到一个时钟周期。
2. 哈佛结构从内核访问指令和数据的不同空间与总线结构,可以把处理器分为哈佛结构和普林斯顿结构(或冯.诺伊曼结构)。
冯.诺伊曼结构的机器指令、数据和I/O共用一条总线,这样内核在取指时就不能进行数据读写,反之亦然。
这在传统的非流水线处理器(如MCS51)上是没有什么问题的,它们取指、执行分时进行,不会发生冲突。
但在现代流水线处理器上,由于取指、译码和执行是同时进行的(不是同一条指令),一条总线就会发生总线冲突,必须插入延迟等待,从而影响了系统性能。
ARM7TDMI内核就是这种结构的。
而哈佛结构的处理器采用独立的指令总线和数据总线,可以同时进行取指和数据读写操作,从而提高了处理器的运行性能。
ARMCortex-M3、ARM966E、ARM926EJ、ARM1136JF等内核都采用了哈佛结构。
哪种ARM Cortex内核更适合:A系列、R系列、M系列
ARM Cortex内核系列提供非常广泛的具有可扩展性的性能选项,设计人员有机会在多种选项中选择最适合自身应用的内核,而非千篇一律的采用同一方案。
Cortex系列组合大体上分为三种类别:●Cortex-A—面向性能密集型系统的应用处理器内核●Cortex-R—面向实时应用的高性能内核●Cortex-M—面向各类嵌入式应用的微控制器内核Cortex-A处理器为利用操作系统(例如Linux或者Android)的设备提供了一系列解决方案,这些设备被用于各类应用,从低成本手持设备到智能手机、平板电脑、机顶盒以及企业网络设备等。
早期的Cortex-A系列处理器(A5、A7、A8、A9、A12、A15和A17)基于ARMv7-A架构。
每种内核都共享相同的功能集,例如NEON媒体处理引擎、Trustzone 安全扩展、单精度和双精度浮点支持、以及对多种指令集(ARM、Thumb-2、Thumb、Jazelle和DSP)的支持。
与此同时,这些处理器也具有极高的设计灵活性,能够提供所需的最佳性能和预期的功效。
尽管Cortex-A5内核是Cortex A系列中体积和功耗都最低的成员,但它拥有支持多核性能的潜能,并且与该系列中的高级成员(A9和A15)兼容。
对于那些之前采用ARM926EJ-S或ARM1176JZ-S处理器的设计人员来说,选择A5是自然的,因为它具有更高的性能和更低的芯片成本。
Cortex-A7在功耗和体积上与Cortex-A5相似,但其性能提升20%左右,且与Cortex-A15和Cortex-A17有完全的架构兼容性。
Cortex-A7是成本敏感型智能手机和平板电脑的理想选择,而且它还可以与Cortex-A15或Cortex-A17组合使用,形成ARM 称为“big.LITTLE”的处理结构。
big.LITTLE结构实质上是一种功耗优化技术;高性能CPU(例如Cortex-A17)和高效率CPU(例如Cortex-A7)的组合配置能够提供更高的持久性能,同时因为更高效的内核很好的满足了应用对中低性能的需求,这种组合还显著节省整体功耗,节省75%的CPU耗能,并且延长电池的使用寿命。
ARM芯片选型简易指南
目前国内市场常见的ARM有NXP(Philips)、Samsung、Atmel、TI、ADI等,根据用户要求及应用领域,可从如下几个方面选型:1、速度(常规应用):ARM7的主时钟为20~133M,ARM9为100~233M,ARM10高达700M,如果速度要求更高,还可使用多核ARM,如MinSpeed公司的ARM系列芯片。
2、内存(常规应用):一般ARM都内带Flash(程序)和SRAM(数据),Atmel 公司的ARM自带内存容量最大。
如果要扩充外部SDRAM,Atmel、Samsung、NXP 均可。
3、MCU升级(常规应用):如果是从原来的单片机系统升级(速度、GPIO等),可选择NXP的ARM,该公司的ARM性价比最高,有些型号30元以内就可买到,且有周立功单片机技术支持,开发工具、技术资料较丰富。
4、USB接口(特殊应用):Samsung公司的多款ARM内置了USB2.0 Host/Device 接口,NXP的ARM也有内置USB2.0(全速)接口的。
5、AD/DA(数据采集、工业控制):ADI公司主要是做模拟芯片的,因此该公司的ARM芯片基本上都内置了AD、DA,且位数、、速度均是最好的。
6、以太网(嵌入式WEB、Modem):Samsung、Atmel公司由多款ARM内置了以太网控制器,NXP的部分ARM也有。
7、DSP(信号处理):TI公司DSP最为有名,因此该公司生产的ARM内置了DSP 处理器;Motolora公司的ARM也有内置DSP的。
8、音/视频接口(音/视频设备):这方面毫无疑问应选择Philips公司的ARM,如SAA7750等。
9、FPGA(复杂逻辑电路):Altera公司专做EPLD/FPGA的,该公司的ARM内置了FPGA,如EPXA1、EPXA4、EPXA10内置FPGA的门电路数分别为100K、400K、1000K。
10、Cortex-M3(最新ARM内核、高性价比):国内比较流行的有ST的STM32系列、NXP的LPC13xx系列和TI的LM3S系列等,其中以STM32最为流行,独领风头。
ARM处理器芯片选型指南
ARM处理器芯片选型指南要选好一款处理器,要考虑的因素很多,不单单是纯粹的硬件接口,还需要考虑相关的操作系统、配套的开发工具、仿真器,以及工程师微处理器的经验和软件支持情况等。
微处理器选型是否得当,将决定项目成败。
当然,并不是说选好微处理器,就意味着成功,因为项目的成败取决于许多因素;但可以肯定的一点是,微处理器选型不当,将会给项目带来无限的烦恼,甚至导致项目的流产。
1 嵌入式微处理器选型的考虑因素在产品开发中,作为核心芯片的微处理器,其自身的功能、性能、可靠性被寄予厚望,因为它的资源越丰富、自带功能越强大,产品开发周期就越短,项目成功率就越高。
但是,任何一款微处理器都不可能尽善尽美,满足每个用户的需要,所以这就涉及选型的问题。
(1)应用领域一个产品的功能、性能一旦定制下来,其所在的应用领域也随之确定。
应用领域的确定将缩小选型的范围,例如:工业控制领域产品的工作条件通常比较苛刻,因此对芯片的工作温度通常是宽温的,这样就得选择工业级的芯片,民用级的就被排除在外。
目前,比较常见的应用领域分类有航天航空、通信、计算机、工业控制、医疗系统、消费电子、汽车电子等。
(2)自带资源经常会看到或听到这样的问题:主频是多少?有无内置的以太网MAC?有多少个I/O口?自带哪些接口?支持在线仿真吗?是否支持OS,能支持哪些OS?是否有外部存储接口?……以上都涉及芯片资源的问题,微处理器自带什么样的资源是选型的一个重要考虑因素。
芯片自带资源越接近产品的需求,产品开发相对就越简单。
(3)可扩展资源硬件平台要支持OS、RAM和ROM,对资源的要求就比较高。
芯片一般都有内置RAM和ROM,但其容量一般都很小,内置512 KB就算很大了,但是运行OS一般都是兆级以上。
这就要求芯片可扩展存储器。
(4)功耗单看“功耗”是一个较为抽象的名词。
这里举几个形象的例子:①夏天使用空调时,家里的电费会猛增。
这是因为空调是高功耗的家用电器,这时人们会想,“要是空调能像日光灯那样省电就好了”。
Cortex-M3 处理器_fromARM
Cortex-M3 处理器ARM Cortex™- M3 处理器是行业领先的 32 位处理器,适用于具有高确定性的实时应用,已专门开发为允许合作伙伴为范围广泛的设备(包括微控制器、汽车车体系统、工业控制系统以及无线网络和传感器)开发高性能低成本的平台。
该处理器提供出色的计算性能和对事件的卓越系统响应,同时可以应对低动态和静态功率限制的挑战。
该处理器是高度可配置的,可以支持范围广泛的实现(从那些需要内存保护和强大跟踪技术的实现到那些需要极小面积的对成本非常敏感的设备)。
为什么选择 Cortex-M3提供更高的性能和更丰富的功能于 2004 年引进、最近通过新技术进行了更新并更新了可配置性的 Cortex-M3,是专门针对微控制器应用开发的主流 ARM 处理器。
性能和能效具有高性能和低动态能耗,Cortex-M3 处理器提供领先的功效:在 90nmG 基础上为 12.5 DMIPS/mW。
将集成的睡眠模式与可选的状态保留功能相结合,Cortex-M3 处理器确保对于同时需要低能耗和出色性能的应用不存在折衷。
全功能该处理器执行Thumb®-2 指令集以获得最佳性能和代码大小,包括硬件除法、单周期乘法和位字段操作。
Cortex-M3 NVIC 在设计时是高度可配置的,最多可提供 240 个具有单独优先级、动态重设优先级功能和集成系统时钟的系统中断。
丰富的连接功能和性能的组合使基于 Cortex-M3 的设备可以有效处理多个 I/O 通道和协议标准,如USB OTG (On-The-Go)。
Cortex-M3 功能Cortex-M3 功能体系结构ARMv7-M(哈佛)ISA 支持Thumb® / Thumb-2管道 3 阶段 + 分支预测Dhrystone 1.25 DMIPS/MHz内存保护带有子区域和后台区域的可选 8 区域 MPU 中断不可屏蔽的中断 (NMI) + 1 到 240 个物理中断中断延迟12 个周期中断间延迟 6 个周期中断优先级8 到 256 个优先级唤醒中断控制器最多 240 个唤醒中断睡眠模式集成的 WFI 和 WFE 指令和“退出时睡眠”功能。
cortexM3
姓名:黄常建班级:硕5106 学号:3115322009ARM微处理器cortex-M3简介前言:之所以会选这款微处理器是因为最近开发蓝牙应用时用到了Soc芯片TI的CC2650,里面包含了cortex-M3和cortex-M0两个微处理器,并且主要是对M3进行开发,所以针对自己之前所了解的信息以及网上的资料对cortex-M3进行一个简单的介绍。
概述:ARM公司于2006年推出了Cortex-M3内核,就在当年ARM公司与其他投资商合伙成立了luminary公司,由该公司率先设计、生产与销售基于Cortex-M3内核的ARM芯片-Stellaris系列ARM。
Cortex_M3内核是整个Cortex内核系列中的微控制器系列(M)内核,还有其他两个系列中的微控制系列(A)与实时控制处理系列(R),这三个系列又分别简称为A、R、M系列,当然这三个系列的内核分别有各自不同的应用场合。
A 部分面向复杂的尖端应用程序,用于运行开放式的复杂操作系统;R部分针对实时系统;M部分为成本控制和微控制器应用提供优化。
Cortex-M3是首款基于ARMv7-M架构的处理器,是专门为了在微控制器,汽车车身系统,工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域实现高系统性能而设计的,它大大简化了可编程的复杂性,使ARM架构成为各种应用方案的上佳选择。
内核构架:基于ARMv7架构的Cortex-M3处理器带有一个分级结构。
它集成了名为CM3Core的中心处理器内核和先进的系统外设,实现了内置的中断控制、存储器保护以及系统的调试和跟踪功能。
这些外设可进行高度配置,允许Cortex-M3处理器处理大范围的应用并更贴近系统的需求。
目前Cortex-M3内核和集成部件已进行了专门的设计,用于实现最小存储容量、减少管脚数目和降低功耗。
Cortex-M3中央内核基于哈佛架构,指令和数据各使用一条总线。
与Cortex-M3不同,ARM7系列处理器使用冯·诺依曼架构,指令和数据共用信号总线以及存储器。
Cortex-M3 VS ARM7
ARM7与Cortex-M3比较要使用低成本的32位处理器,开发人员面临两种选择,基于Cortex-M3内核或者ARM7TDMI 内核的处理器。
如何做出选择?选择标准又是什么?本文主要介绍了ARM Cortex-M3内核微控制器区别于ARM7的一些特点,帮助您快速选择。
1.ARM实现方法ARM Cortex-M3是一种基于ARM7v架构的最新ARM嵌入式内核,它采用哈佛结构,使用分离的指令和数据总线(冯诺伊曼结构下,数据和指令共用一条总线)。
从本质上来说,哈佛结构在物理上更为复杂,但是处理速度明显加快。
根据摩尔定理,复杂性并不是一件非常重要的事,而吞吐量的增加却极具价值。
ARM公司对Cortex-M3的定位是:向专业嵌入式市场提供低成本、低功耗的芯片。
在成本和功耗方面,Cortex-M3具有相当好的性能,ARM公司认为它特别适用于汽车和无线通信领域。
和所有的ARM内核一样,ARM公司将内该设计授权给各个制造商来开发具体的芯片。
迄今为止,已经有多家芯片制造商开始生产基于Cortex-M3内核的微控制器。
ARM7TDMI(包括ARM7TDMIS)系列的ARM内核也是面向同一类市场的。
这类内核已经存在了十多年之久,并推动了ARM成为处理器内核领域的主导者。
众多的制造商出售基于ARM7系列的处理器以及其他配套的系统软件、开发和调试工具。
在许多方面,ARM7TDMI都可以称得上是嵌入式领域的实干家。
2.两者差异除了使用哈佛结构,Cortex-M3还具有其它显著的优点:具有更小的基础内核,价格更低,速度更快。
与内核集成在一起的是一些系统外设,如中断控制器、总线矩阵、调试功能模块,而这些外设通常都是由芯片制造商增加的。
Cortex-M3还集成了睡眠模式和可选的完整的八区域存储器保护单元。
它采用THUMB-2指令集,最大限度降低了汇编器使用率。
3.指令集ARM7可以使用ARM和Thumb两种指令集,而Cortex-M3只支持最新的Thumb-2指令集。
arm内核系列比较.
arm内核系列比较ARM2009-06-1421:38:37阅读345评论0字号:大中小器件的选择归根结底是为嵌入式系统选择合适的处理器芯片。
ARM处理器是最常见的嵌入式处理器之一,它以低功耗、低成本和高性能而深受业界的青睐。
而且ARM是目前产业中资源最为广泛的嵌入式处理器,基于广大的ARM合作伙伴计划,开发者可以在这个联盟里寻求到各种自己意想不到的帮助。
从图2给出了常见的ARM处理器的架构和支持的操作系统。
目前在业内广为人知的ARM处理器主要有ARM7系列和ARM9系列,同时为了关注今后嵌入式系统的发展,也有必要了解一下最新的ARM11和ARM Cotex系列处理器。
图2ARM体系结构ARM7系列ARM7TDMI是ARM7系列中使用最广泛的,它是从最早实现32位地址空间编程模式的ARM6内核发展而来的,并增加了64位乘法指令,支持片上调试、16位Thumb指令集和EmbeddedICE观察点硬件。
ARM7TDMI属于ARM v4体系结构,采用冯诺伊曼结构,3级流水处理,平均0.9DMIPs/Mhz性能。
不过ARM7TDMI没有MMU(Memory Management Unit和Cache,所以仅支持那些不需要MMU和Cahce的小型实时操作系统,如VxWorks、uC/OS-II和uLinux等RTOS。
其他的ARM7系列内核还有ARM720T和ARM7E-S等。
ARM9系列ARM9TDMI相比ARM7TDMI,将流水级数提高到5级从而增加了处理器的时钟频率,并使用指令和数据存储器分开的哈佛结构以改善CPI和提高处理器性能,平均可达1.1DMIPs/Mhz,但是ARM9TDMI仍属于ARM v4T体系结构。
在ARM9TDMI基础上又有ARM920T、ARM940T和ARM922T,其中ARM940T增加了MPU(Memory Protect Unit和Cache;ARM920T和ARM922T加入了MMU、Cache和ETM9(方便进行CPU实时trace,从而更好的支持象Linux和WinCE这样的多线程、多任务操作系统。
从应用和配套工具谈ARM7与cortex
从应用和配套工具谈ARM7与cortex
对于32位设计方案来说,ARM7还是cortex-M3都是不错的选择。
并且这两种方法在很多方面都用大致相同的作用,所以很多初学者对于两者之间的区别和应用便较为模糊,本文将为大家介绍ARM7和cortex-M3在应用范围和配套工具上的不同。
应用范围
虽然ARM7内核并没有像Cortex系列那样集成很多外设,但是大量的基于ARM7的器件,从通用MCU,到面向应用的MCU、SOC甚至是Actel公司基于ARM7内核的FPGA,都拥有更为众多的外围设备。
大约有150种MCU是基于ARM7内核的(根据不同的统计方法,这个数字可能会更高)。
你会发现ARM7都可以实现几乎所有的嵌入式应用,或采用定制的方式来满足需求。
基于标准内核,芯片厂商可以加入不同类型、大小的存储器和其他外围设备,比如串行接口、总线控制器、存储器控制器和图形单元,并针对工业、汽车或者其他要求苛刻的领域,使用不同的芯片封装,提供不同温度范围的芯片版本。
芯片厂商也可能绑定特定的软件,比如TCP/IP协议栈或面向特定应用的软件。
配套工具
ARM7应用已经非常普及,它已经有非常多第三方的开发和调试工具支持。
在ARM的网站上有超过130家工具公司名称列表。
大多数厂商提供了基本的开发板,并提供下载程序的接口、调试工具以及外部设备的驱动,包括LED灯的显示状态或者屏幕上的单行显示。
通常,开发套件包括编译器、一些调试软件以及开发板。
更为高级的套件包括第三方的集成开发环境(IDE),IDE中包含编译器、链接器、调试器、编辑器和其。
ARM_Cortex-M3体系结构和优势
MIPS(Million Instructions Per Second)是CPU 处理能力的一个指标,它的字面意思是每秒种执行指令 Cortex-M3内核主要是应用于低成本、小管脚数 的平均条数。MIPS/MHz,也就是系统时钟(CPU的工作 和低功耗的场合,并且具有极高的运算能力和极强的 时钟)为 1M时,平均能够执行的指令数。 中断响应能力。 这里面的 D是什么意思?简单说吧:2个CPU,每个CLK Cortex-M3处理器采用纯Thumb2 指令的执行方式, 都能执行一条指令,这个是相同的,都是“ 1MIPS/MHz ”。 但我们让它门做某个处理运算,一个需要执行 10条指令 使得这个具有32位高性能的ARM内核能够实现 8位和 完成,而另一个因为指令系统中具备专用的处理这个运 16位的代码存储密度。ARM Cortex-M3处理器是使 算的指令,所以只需要5条指令就行了。故第2个CPU的 用最少门数的ARM CPU,核心门数只有33K,在包 性能为“2DMIPS/MHz”。可见是一个比值的含义,是相 含了必要的外设之后的门数也只有 60K,使得封装更 对于某个标准处理器的处理能力比值。可见 DMIPS/MHz 为小型,成本更加低廉。 是一个相对的、综合指标。
嵌套向量中断控制器(NVIC):
NVIC 是 Cortex-M3 处理器中一个完整的部 分,它可以进行高度配置,为处理器提供出色的 中断处理能力。在 NVIC 的标准执行中,它提供 了一个非屏蔽中断(NMI)和 32 个通用物理中 断,这些中断带有 8 级的抢占优先权。NVIC 可 以通过综合选择配置为 1到 240 个物理中断中 的任何一个,并带有多达 256 个优先级。 Cortex-M3 处理器使用一个可以重复定位的 向量表,表中包含了将要执行的函数的地址,可 供具体的中断处理器使用。中断被接受之后,处 理器通过指令总线接口从向量表中获取地址。向 量表复位时指向零,编程控制寄存器可以使向量 表重新定位。
ARM7 与 Cortex-M3的性能比较
【程序】ARM7 与 Cortex-M3的性能比较文章来源:EDN 博客 作者:jgw文章导读:本程序为ARM7 与 Cortex-M3的性能比较功能特性 ARM7TDMI-SCortex-M3架构ARMv4T(冯·诺依曼)ARMv7(哈佛)指令集支持Thumb/ARMThumb/ Thumb-2流水线3级3级 + 分支预测中断FIQ/IRQNMI +最多240个物理中断中断延迟24—42个时钟周期12个时钟周期休眠模式无内置存储器保护无8段存储器保护单元指令执行速度0.95DMIPS/MHz (ARM模式)1.25DMIPS/MHz功耗0.28mW/MHz0.19mW/MHz面积0.62m2(仅内核)0.86m2(内核 + 外设)* 存储器映射方式4G空间有厂家自由划分4G空间划分由内核确定处理器模式7种处理器模式2种处理器模式*不包含可选系统外设(MPU和ETM)或者集成的部件最近有点小空,想学习一下眼下最流行的ARM,初步了解主流的ARM体系有2个:ARM7和Cortex-M3,下午在网上搜索了一下,结果令我大吃一惊。
本来我以为只要在市场上能共存的两种东西,肯定是各有千秋,否则其中较弱的的一个就会被彻底淘汰。
事实上我看到的却是完全一边倒的局面:Cortex-M3完胜ARM7!以下是摘录的一些对比:Cortex-M3 ARM7最新的ARM内核成熟使用近10年的ARM内核哈佛体系冯诺曼体系只支持最新的Thumb-2指令集支持ARM和Thumb指令集硬件自动压栈软件手工压栈单周期乘法指令多周期乘法指令2-12周期除法指令无除法指令有位操作无位操作内置系统节拍定时器无系统节拍定时器方便操作系统移植指令执行速度1.25DMIPS/MHz 0.95DMIPS/MHz功耗0.19mW/MHz 0.28mW/MHz从以上对比看,Cortex-M3在性能和功耗等方面基本上是完胜ARM7。
ARMCortex各系列处理器分类比较
Cortex-M系列M0:Cortex-M0是目前最小的ARM处理器,该处理器的芯片面积非常小,能耗极低,且编程所需的代码占用量很少,这就使得开发人员可以直接跳过16位系统,以接近8 位系统的成本开销获取32 位系统的性能。
Cortex-M0 处理器超低的门数开销,使得它可以用在仿真和数模混合设备中。
M0+:以Cortex-M0 处理器为基础,保留了全部指令集和数据兼容性,同时进一步降低了能耗,提高了性能。
2级流水线,性能效率可达1.08 DMIPS/MHz。
M1:第一个专为FPGA 中的实现设计的ARM 处理器。
Cortex-M1 处理器面向所有主要FPGA 设备并包括对领先的FPGA 综合工具的支持,允许设计者为每个项目选择最佳实现。
M3:适用于具有较高确定性的实时应用,它经过专门开发,可使合作伙伴针对广泛的设备(包括微控制器、汽车车身系统、工业控制系统以及无线网络和传感器)开发高性能低成本平台。
此处理器具有出色的计算性能以及对事件的优异系统响应能力,同时可应实际中对低动态和静态功率需求的挑战。
M4:由ARM 专门开发的最新嵌入式处理器,用以满足需要有效且易于使用的控制和信号处理功能混合的数字信号控制市场。
M7:在ARM Cortex-M 处理器系列中,Cortex-M7 的性能最为出色。
它拥有六级超标量流水线、灵活的系统和存接口(包括AXI 和AHB)、缓存(Cache)以及高度耦合存(TCM),为MCU 提供出色的整数、浮点和DSP 性能。
互联:64位AMBA4 AXI, AHB外设端口(64MB 到512MB)指令缓存:0 到64kB,双路组相联,带有可选ECC数据缓存:0 到64kB,四路组相联,带有可选ECC指令TCM:0 到16MB,带有可选ECC数据TCM:0 到16MB,带有可选ECCCortex-M系列规格对比Cortex-A系列:ARM Cortex-A 系列是一系列用于复杂操作系统和用户应用程序的应用程序处理器。
ARM芯片的应用和选型
ARM公司自1990年正式成立以来,在32位RISC(Reduced Instruction Set Computer)CPU开发领域不断取得突破,其结构已经从V3发展到V6。
由于ARM公司自成立以来,直以IP(Intelligence Propert y)提供者的身份向各大半导体制造商出售知识产权,而自己从不介入芯片的生产销售,加上其设计的芯核具有功耗低、成本低等显著优点,因此获得众多的半导体厂家和整机厂商的大力支持,在32位嵌入式应用领域获得了巨大的成功,目前已经占有75%以上32位RISC嵌入式产品市场。
在低功耗、低成本的嵌入式应用领域确立了市场领导地位。
现在设计、生产ARM芯片的国际大公司已经超过50多家,国中兴通讯和华为通讯等公司已经购买ARM公司芯核用于通讯专用芯片的设计。
目前非常流行的ARM芯核有ARM7TDMI,StrongARM,ARM720T,ARM9TDMI,ARM922T,AR M940T,RM946T,ARM966T,ARM10TDMI等。
自V5以且,ARM公司提供Piccolo DSP的芯核给芯片设计得,用于设计ARMDSP的SOC(System On Chip)结构芯片。
此外,ARM芯片还获得了许多实时操作系统(Real Time Operating System)供应商的支持,比较知名的有:Windows CE、Linux、pSOS、Vx Works、Nucleus、EPOC、uCOS、BeOS等。
随着国内嵌入式应用领域的发展,ARM芯片必然会获得广泛的重视和应用。
但是,由于ARM芯片有多达十几种的芯核结构,70多芯片生产厂家,以及千变万化的内部功能配置组合,给开发人员在选择方案时带来一定的困难。
所以,对ARM芯片做一对比研究是十分必要的。
1 ARM芯片选择的一般原则从应用的角度,对在选择ARM芯片时所应考虑的主要困素做一详细的说明。
1.1 ARM芯核如果希望使用WinCE或Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MM U(memory management unit)功能的ARM芯片,ARM720T、Stron-gARM、ARM920T、ARM922T、AR M946T都带有MMU功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM处理器选型指南:选ARM7还是选Cortex-M3.txt精神失常的疯子不可怕,可怕的是精神正常的疯子!ARM处理器选型指南:选ARM7还是选Cortex-M3 收藏要使用低成本的 32位处理器,开发人员面临两种选择,基于Cortex-M3内核或者ARM7TDMI 内核的处理器。
如何做出选择?选择标准又是什么?本文主要介绍了ARM Cortex-M3内核微控制器区别于ARM7的一些特点,帮助您快速选择。
1.ARM实现方法ARM Cortex-M3是一种基于ARM V7架构的最新ARM嵌入式内核,它采用哈佛结构,使用分离的指令和数据总线(冯诺伊曼结构下,数据和指令共用一条总线)。
从本质上来说,哈佛结构在物理上更为复杂,但是处理速度明显加快。
根据摩尔定理,复杂性并不是一件非常重要的事,而吞吐量的增加却极具价值。
ARM公司对Cortex-M3的定位是:向专业嵌入式市场提供低成本、低功耗的芯片。
在成本和功耗方面,Cortex-M3具有相当好的性能,ARM公司认为它特别适用于汽车和无线通信领域。
和所有的ARM内核一样,ARM公司将内该设计授权给各个制造商来开发具体的芯片。
迄今为止,已经有多家芯片制造商开始生产基于Cortex-M3内核的微控制器。
ARM7TDMI(包括ARM7TDMIS)系列的ARM内核也是面向同一类市场的。
这类内核已经存在了十多年之久,并推动了ARM成为处理器内核领域的主导者。
众多的制造商(据ARM宣称,多达16家)出售基于ARM7系列的处理器以及其他配套的系统软件、开发和调试工具。
在许多方面,ARM7TDMI都可以称得上是嵌入式领域的实干家。
2.两者差异除了使用哈佛结构, Cortex-M3 还具有其他显著的优点:具有更小的基础内核,价格更低,速度更快。
与内核集成在一起的是一些系统外设,如中断控制器、总线矩阵、调试功能模块,而这些外设通常都是由芯片制造商增加的。
Cortex-M3 还集成了睡眠模式和可选的完整的八区域存储器保护单元。
它采用 THUMB-2指令集,最大限度降低了汇编器使用率。
3.指令集ARM7可以使用ARM和Thumb两种指令集,而 Cortex-M3只支持最新的 Thumb-2指令集。
这样设计的优势在于:? 免去 Thumb和ARM代码的互相切换,对于早期的处理器来说,这种状态切换会降低性能。
? Thumb-2指令集的设计是专门面向C语言的,且包括If/Then结构(预测接下来的四条语句的条件执行)、硬件除法以及本地位域操作。
? Thumb-2指令集允许用户在C代码层面维护和修改应用程序,C代码部分非常易于重用。
? Thumb-2指令集也包含了调用汇编代码的功能:Luminary公司认为没有必要使用任何汇编语言。
? 综合以上这些优势,新产品的开发将更易于实现,上市时间也大为缩短。
4.中断Cortex-M3的另一个创新在于嵌套向量中断控制器 NVIC( Nested Vector Interrupt Controller)。
相对于ARM7使用的外部中断控制器,Cortex-M3内核中集成了中断控制器,芯片制造厂商可以对其进行配置,提供基本的32个物理中断,具有8层优先级,最高可达到240个物理中断和256个中断优先级。
此类设计是确定的且具有低延迟性,特别适用于汽车应用。
NVIC使用的是基于堆栈的异常模型。
在处理中断时,将程序计数器,程序状态寄存器,链接寄存器和通用寄存器压入堆栈,中断处理完成后,在恢复这些寄存器。
堆栈处理是由硬件完成的,无需用汇编语言创建中断服务程序的堆栈操作。
中断嵌套是可以是实现的。
中断可以改为使用比之前服务程序更高的优先级,而且可以在运行时改变优先级状态。
使用末尾连锁( tail-chaining )连续中断技术只需消耗三个时钟周期,相比于 32个时钟周期的连续压、出堆栈,大大降低了延迟,提高了性能。
如果在更高优先级的中断到来之前, NVIC已经压堆栈了,那就只需要获取一个新的向量地址,就可以为更高优先级的中断服务了。
同样的,NVIC不会用出堆栈的操作来服务新的中断。
这种做法是完全确定的且具有低延迟性。
5.睡眠Cortex-M3的电源管理方案通过NVIC支持Sleep Now, Sleep on Exit (退出最低优先级的ISR) and SLEEPDEEP modes这三种睡眠模式。
为了产生定期的中断时间间隔, NVIC还集成了系统节拍计时器,这个计时器也可以作为RTOS和调度任务的心跳。
这种做法与先前的ARM 架构的不同之处就在于不需要外部时钟。
6.存储器保护单元存储器保护单元是一个可选组建。
选用了这个选项,内存区域就可以与应用程序特定进程按照其他进程所定义的规则联系在一起。
例如,一些内存可以完全被其他进程阻止,而另外一部分内存能对某些进程表现为只读。
还可以禁止进程进入存储器区域。
可靠性,特别是实时性因此得到重大改进。
7.调试对 Cortex-M3 处理器系统进行调试和追踪是通过调试访问端口( Debug Access Port )来实现的。
调试访问端口可以是一个 2针的串行调试端口( Serial Wire Debug Port )或者串行 JTAG调试端口( Serial Wire JTAG Debug Port )。
通过 Flash片、断点单元、数据观察点、跟踪单元,以及可选的嵌入式跟踪宏单元( Embedded Trace Macrocell )和指令跟踪宏单元( Instrumentation Trace Macrocell )等一系列功能相结合,在内核部分就可以采用多种类型的调试方法及监控函数。
例如,可以设置断点、观察点、定义缺省条件或执行调试请求、监控停止操作或继续操作。
所有的这些功能在 ARM架构的产品中已经实现,只是 Cortex-M3 将这些功能整合起来,方便开发人员使用。
8.应用范围虽然 ARM7内核并没有像Cortex系列那样集成很多外设,但是大量的基于ARM7的器件,从通用MCU,到面向应用的MCU、SOC甚至是Actel公司基于ARM7内核的FPGA,都拥有更为众多的外围设备。
大约有150种MCU是基于ARM7内核的(根据不同的统计方法,这个数字可能会更高)。
你会发现 ARM7都可以实现几乎所有的嵌入式应用,或采用定制的方式来满足需求。
基于标准内核,芯片厂商可以加入不同类型、大小的存储器和其他外围设备,比如串行接口、总线控制器、存储器控制器和图形单元,并针对工业、汽车或者其他要求苛刻的领域,使用不同的芯片封装,提供不同温度范围的芯片版本。
芯片厂商也可能绑定特定的软件,比如TCP/IP 协议栈或面向特定应用的软件。
例如, STMicroelectronics公司的STR7产品线有三个主要系列共45个成员,具有不同的封装和存储器。
每一个系列都针对特定的应用领域,具有不同外设集合。
比如STR730家族是专为工业和汽车应用设计的,因此具有可扩展的温度范围,包括多个I/O口和3个CAN总线接口。
STR710则是面向于消费市场以及高端的工业应用,它具有多个通信接口,比如USB, CAN, ISO7816以及4个UART,还有大容量的存储器和一个外部存储器接口。
芯片厂商也可以选择利于开发人员开发产品的措施,比如采用 ARM的嵌入式跟踪宏单元ETM( Embedded Trace Macrocell ),并提供开发和调试工具。
截止至这篇文章写作之时,Luminary、STMicroelectronics这两家公司已经有基于Cortex-M3的芯片,其他公司如NXP、Atmel也宣布生产该类产品。
9.配套工具ARM7应用已经非常普及,它已经有非常多第三方的开发和调试工具支持。
在ARM的网站上有超过130家工具公司名称列表。
大多数厂商提供了基本的开发板,并提供下载程序的接口、调试工具以及外部设备的驱动,包括 LED灯的显示状态或者屏幕上的单行显示。
通常,开发套件包括编译器、一些调试软件以及开发板。
更为高级的套件包括第三方的集成开发环境(IDE),IDE中包含编译器、链接器、调试器、编辑器和其他工具,也可能包括仿真硬件,比如说JTAG仿真器。
内电路仿真器( ICE)是最早的也是最有用的调试工具形式之一,很多厂商都在ARM7上提供了这一接口。
软件开发工具范围很广:从建模到可视化设计,到编译器。
现在很多的产品也用到实时操作系统( RTOS)和中间件,以加速开发进程、降低开发难度。
另外,还有一个非常重要的因素,很多的开发人员对 ARM7的开发经验非常丰富。
虽然现在已经有新兴的 Cortex-M3 工具,但显然还是有一定的差距。
不过, Cortex-M3的集成调试性能使调试变得简单且有效,且无需用到内电路仿真器ICE。
10.决策那么,你应该如何做出何种选择呢?如果成本是最主要考虑因素,您应该选择 Cortex-M3;如果在低成本的情况下寻求更好的性能和改进功耗,您最好考虑选用Cortex-M3;特别是如果你的应用是汽车和无线领域,最好也采用Cortex-M3,这正是Coretex-M3的主要定位市场。
由于 Cortex-M3内核中的多种集成元素以及采用Thumb-2指令集,其开发和调试比ARM7TDMI 要简单快捷。
然而,由于重定义 ARM7TDMI的应用不是一件困难的事,特别是在使用了RTOS的情况下。
保守者可能会沿用ARM7TDMI内核的芯片,并避免使用那些会使重定义变得复杂的功能。
11.IAR YellowSuite for ARMIAR YellowSuite for ARM是一整套支持ARM的开发工具整体解决方案,包括:visualSTATE 状态机建模工具、IAR Embedded Workbench集成开发环境、PowerPac RTOS和中间件、仿真器等。
不管选用 ARM7还是Cortex-M3,IAR的开发工具都能支持。
visualSTATE状态机建模工具visualSTATE是一套精致、易用的开发工具,包含图形设计器、测试工具包,代码生成器和文档生成器,用于设计、测试和实现基于状态图设计的嵌入式应用。
? 基于统一建模语言 (UML)状态机理论的图形化模型设计;? 对设计模型进行规范性验证,检查系统的逻辑一致性,鉴别出系统设计漏洞或错误;? 设计过程的早期阶段,甚至在硬件设计尚未完成之前,就可以使用测试工具来确保应用能按照预想方式运行;? 自动代码生成功能可以生成极为紧凑的 C/C++代码,100%与设计保持一致;? 自动文档生成功能提供了详尽的信息;? 与 IAR Embedded Workbench 无缝集成,提供多种微控制器和评估板的现成示例代码;? 通过 CSPYLink或RealLink对目标器件进行综合的图形化状态机调试;? 支持多种硬件调试接口,例如 J-Link、通用JTAG仿真器、NEXUS仿真器等IAR Embedded Workbench for ARM集成开发环境IAR Embedded Workbench for ARM集成开发环境(简称EWARM)是一套支持 ARM所有处理器的集成开发环境,包含项目管理器、编辑器、C/C++ 编译器、汇编器、连接器和调试器。