<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 選擇ARM處理器,ARM7還是Cortex-M3

選擇ARM處理器,ARM7還是Cortex-M3

作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò ) 收藏
要使用低成本的 32位處理器,開(kāi)發(fā)人員面臨兩種選擇,基于Cortex-M3內核或者ARM7TDMI內核的處理器。如何做出選擇?選擇標準又是什么?本文主要介紹了ARM Cortex-M3內核微控制器區別于A(yíng)RM7的一些特點(diǎn),幫助您快速選擇。

1.ARM實(shí)現方法

本文引用地址:http://dyxdggzs.com/article/201611/322413.htm

ARM Cortex-M3是一種基于A(yíng)RM7v架構的最新ARM嵌入式內核,它采用哈佛結構,使用分離的指令和數據總線(xiàn)(馮諾伊曼結構下,數據和指令共用一條總線(xiàn))。從本質(zhì)上來(lái)說(shuō),哈佛結構在物理上更為復雜,但是處理速度明顯加快。根據摩爾定理,復雜性并不是一件非常重要的事,而吞吐量的增加卻極具價(jià)值。

ARM公司對Cortex-M3的定位是:向專(zhuān)業(yè)嵌入式市場(chǎng)提供低成本、低功耗的芯片。在成本和功耗方面,Cortex-M3具有相當好的性能,ARM公司認為它特別適用于汽車(chē)和無(wú)線(xiàn)通信領(lǐng)域。和所有的ARM內核一樣,ARM公司將內該設計授權給各個(gè)制造商來(lái)開(kāi)發(fā)具體的芯片。迄今為止,已經(jīng)有多家芯片制造商開(kāi)始生產(chǎn)基于Cortex-M3內核的微控制器。

ARM7TDMI(包括ARM7TDMIS)系列的ARM內核也是面向同一類(lèi)市場(chǎng)的。這類(lèi)內核已經(jīng)存在了十多年之久,并推動(dòng)了ARM成為處理器內核領(lǐng)域的主導者。眾多的制造商(據ARM宣稱(chēng),多達16家)出售基于A(yíng)RM7系列的處理器以及其他配套的系統軟件、開(kāi)發(fā)和調試工具。在許多方面,ARM7TDMI都可以稱(chēng)得上是嵌入式領(lǐng)域的實(shí)干家。

2.兩者差異

除了使用哈佛結構, Cortex-M3 還具有其他顯著(zhù)的優(yōu)點(diǎn):具有更小的基礎內核,價(jià)格更低,速度更快。與內核集成在一起的是一些系統如中斷控制器、總線(xiàn)矩陣、調試功能模塊,而這些外設通常都是由芯片制造商增加的。 Cortex-M3 還集成了睡眠模式和可選的完整的八區域存儲器保護單元。它采用 THUMB-2指令集,最大限度降低了匯編器使用率。

3.指令集

ARM7可以使用ARM和Thumb兩種指令集,而 Cortex-M3只支持最新的 Thumb-2指令集。這樣設計的優(yōu)勢在于:

• 免去 Thumb和ARM代碼的互相切換,對于早期的處理器來(lái)說(shuō),這種狀態(tài)切換會(huì )降低性能。

• Thumb-2指令集的設計是專(zhuān)門(mén)面向C語(yǔ)言的,且包括If/Then結構(預測接下來(lái)的四條語(yǔ)句的條件執行)、硬件除法以及本地位域操作。

• Thumb-2指令集允許用戶(hù)在C代碼層面維護和修改應用程序,C代碼部分非常易于重用。

• Thumb-2指令集也包含了調用匯編代碼的功能:Luminary公司認為沒(méi)有必要使用任何匯編語(yǔ)言。

• 綜合以上這些優(yōu)勢,新產(chǎn)品的開(kāi)發(fā)將更易于實(shí)現,上市時(shí)間也大為縮短。

4.中斷

Cortex-M3的另一個(gè)創(chuàng )新在于嵌套向量中斷控制器 NVIC( Nested Vector Interrupt Controller)。相對于A(yíng)RM7使用的外部中斷控制器,Cortex-M3內核中集成了中斷控制器,芯片制造廠(chǎng)商可以對其進(jìn)行配置,提供基本的32個(gè)物理中斷,具有8層優(yōu)先級,最高可達到240個(gè)物理中斷和256個(gè)中斷優(yōu)先級。此類(lèi)設計是確定的且具有低延遲性,特別適用于汽車(chē)應用。

NVIC使用的是基于堆棧的異常模型。在處理中斷時(shí),將程序計數器,程序狀態(tài)寄存器,鏈接寄存器和通用寄存器壓入堆棧,中斷處理完成后,在恢復這些寄存器。堆棧處理是由硬件完成的,無(wú)需用匯編語(yǔ)言創(chuàng )建中斷服務(wù)程序的堆棧操作。

中斷嵌套是可以是實(shí)現的。中斷可以改為使用比之前服務(wù)程序更高的優(yōu)先級,而且可以在運行時(shí)改變優(yōu)先級狀態(tài)。使用末尾連鎖( tail-chaining )連續中斷技術(shù)只需消耗三個(gè)時(shí)鐘周期,相比于 32個(gè)時(shí)鐘周期的連續壓、出堆棧,大大降低了延遲,提高了性能。

如果在更高優(yōu)先級的中斷到來(lái)之前, NVIC已經(jīng)壓堆棧了,那就只需要獲取一個(gè)新的向量地址,就可以為更高優(yōu)先級的中斷服務(wù)了。同樣的,NVIC不會(huì )用出堆棧的操作來(lái)服務(wù)新的中斷。這種做法是完全確定的且具有低延遲性。

5.睡眠

Cortex-M3的電源管理方案通過(guò)NVIC支持Sleep Now, Sleep on Exit (退出最低優(yōu)先級的ISR) and SLEEPDEEP modes這三種睡眠模式。

為了產(chǎn)生定期的中斷時(shí)間間隔, NVIC還集成了系統節拍計時(shí)器,這個(gè)計時(shí)器也可以作為RTOS和調度任務(wù)的心跳。這種做法與先前的ARM架構的不同之處就在于不需要外部時(shí)鐘。

6.存儲器保護單元

存儲器保護單元是一個(gè)可選組建。選用了這個(gè)選項,內存區域就可以與應用程序特定進(jìn)程按照其他進(jìn)程所定義的規則聯(lián)系在一起。例如,一些內存可以完全被其他進(jìn)程阻止,而另外一部分內存能對某些進(jìn)程表現為只讀。還可以禁止進(jìn)程進(jìn)入存儲器區域??煽啃?,特別是實(shí)時(shí)性因此得到重大改進(jìn)。7.調試

對 Cortex-M3 處理器系統進(jìn)行調試和追蹤是通過(guò)調試訪(fǎng)問(wèn)端口( Debug Access Port )來(lái)實(shí)現的。調試訪(fǎng)問(wèn)端口可以是一個(gè) 2針的串行調試端口( Serial Wire Debug Port )或者串行 JTAG調試端口( Serial Wire JTAG Debug Port )。通過(guò) Flash片、斷點(diǎn)單元、數據觀(guān)察點(diǎn)、跟蹤單元,以及可選的嵌入式跟蹤宏單元( Embedded Trace Macrocell )和指令跟蹤宏單元( Instrumentation Trace Macrocell )等一系列功能相結合,在內核部分就可以采用多種類(lèi)型的調試方法及監控函數。例如,可以設置斷點(diǎn)、觀(guān)察點(diǎn)、定義缺省條件或執行調試請求、監控停止操作或繼續操作。所有的這些功能在 ARM架構的產(chǎn)品中已經(jīng)實(shí)現,只是 Cortex-M3 將這些功能整合起來(lái),方便開(kāi)發(fā)人員使用。

8.應用范圍

雖然 ARM7內核并沒(méi)有像Cortex系列那樣集成很多外設,但是大量的基于A(yíng)RM7的器件,從通用MCU,到面向應用的MCU、SOC甚至是Actel公司基于A(yíng)RM7內核的FPGA,都擁有更為眾多的外圍設備。大約有150種MCU是基于A(yíng)RM7內核的(根據不同的統計方法,這個(gè)數字可能會(huì )更高)。

你會(huì )發(fā)現 ARM7都可以實(shí)現幾乎所有的嵌入式應用,或采用定制的方式來(lái)滿(mǎn)足需求?;跇藴蕛群?,芯片廠(chǎng)商可以加入不同類(lèi)型、大小的存儲器和其他外圍設備,比如串行接口、總線(xiàn)控制器、存儲器控制器和圖形單元,并針對工業(yè)、汽車(chē)或者其他要求苛刻的領(lǐng)域,使用不同的芯片封裝,提供不同溫度范圍的芯片版本。芯片廠(chǎng)商也可能綁定特定的軟件,比如TCP/IP協(xié)議?;蛎嫦蛱囟☉玫能浖?。

例如, STMicroelectronics公司的STR7產(chǎn)品線(xiàn)有三個(gè)主要系列共45個(gè)成員,具有不同的封裝和存儲器。每一個(gè)系列都針對特定的應用領(lǐng)域,具有不同外設集合。比如STR730家族是專(zhuān)為工業(yè)和汽車(chē)應用設計的,因此具有可擴展的溫度范圍,包括多個(gè)I/O口和3個(gè)CAN總線(xiàn)接口。STR710則是面向于消費市場(chǎng)以及高端的工業(yè)應用,它具有多個(gè)通信接口,比如USB, CAN, ISO7816以及4個(gè)UART,還有大容量的存儲器和一個(gè)外部存儲器接口。

芯片廠(chǎng)商也可以選擇利于開(kāi)發(fā)人員開(kāi)發(fā)產(chǎn)品的措施,比如采用 ARM的 嵌入式跟蹤宏單元 ETM( Embedded Trace Macrocell ),并提供開(kāi)發(fā)和調試工具。

截止至這篇文章寫(xiě)作之時(shí), Luminary、STMicroelectronics這兩家公司已經(jīng)有基于Cortex-M3的芯片,其他公司如NXP、Atmel也宣布生產(chǎn)該類(lèi)產(chǎn)品。

9.配套工具

ARM7應用已經(jīng)非常普及,它已經(jīng)有非常多第三方的開(kāi)發(fā)和調試工具支持。在A(yíng)RM的網(wǎng)站上有超過(guò)130家工具公司名稱(chēng)列表。

大多數廠(chǎng)商提供了基本的開(kāi)發(fā)板,并提供下載程序的接口、調試工具以及外部設備的驅動(dòng),包括 LED燈的顯示狀態(tài)或者屏幕上的單行顯示。通常,開(kāi)發(fā)套件包括編譯器、一些調試軟件以及開(kāi)發(fā)板。更為高級的套件包括第三方的集成開(kāi)發(fā)環(huán)境(IDE),IDE中包含編譯器、鏈接器、調試器、編輯器和其他工具,也可能包括仿真硬件,比如說(shuō)JTAG仿真器。

電路仿真器( ICE)是最早的也是最有用的調試工具形式之一,很多廠(chǎng)商都在A(yíng)RM7上提供了這一接口。

軟件開(kāi)發(fā)工具范圍很廣:從建模到可視化設計,到編譯器?,F在很多的產(chǎn)品也用到實(shí)時(shí)操作系統( RTOS)和中間件,以加速開(kāi)發(fā)進(jìn)程、降低開(kāi)發(fā)難度。

另外,還有一個(gè)非常重要的因素,很多的開(kāi)發(fā)人員對 ARM7的開(kāi)發(fā)經(jīng)驗非常豐富。

雖然現在已經(jīng)有新興的 Cortex-M3 工具,但顯然還是有一定的差距。不過(guò), Cortex-M3的集成調試性能使調試變得簡(jiǎn)單且有效,且無(wú)到內電路仿真器ICE。

10.決策

那么,你應該如何做出何種選擇呢?如果成本是最主要考慮因素,您應該選擇 Cortex-M3;如果在低成本的情況下尋求更好的性能和改進(jìn)功耗,您最好考慮選用Cortex-M3;特別是如果你的應用是汽車(chē)和無(wú)線(xiàn)領(lǐng)域,最好也采用Cortex-M3,這正是Coretex-M3的主要定位市場(chǎng)。

由于 Cortex-M3內核中的多種集成元素以及采用Thumb-2指令集,其開(kāi)發(fā)和調試比ARM7TDMI要簡(jiǎn)單快捷。

然而,由于重定義 ARM7TDMI的應用不是一件困難的事,特別是在使用了RTOS的情況下。保守者可能會(huì )沿用ARM7TDMI內核的芯片,并避免使用那些會(huì )使重定義變得復雜的功能。



關(guān)鍵詞: ARM處理器ARM7Cortex-M

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>