<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 選擇ARM處理器的ARM7還是Cortex-M3

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

          作者: 時(shí)間:2016-11-17 來(lái)源:網(wǎng)絡(luò) 收藏
          1.1 ARM處理器系列

          每個(gè)ARM處理器都有一個(gè)特定的指令集架構(gòu)(ISA),而一個(gè)ISA版本又可以有多種處理器實(shí)現(xiàn)。ISA隨著嵌入式市場(chǎng)的需求而發(fā)展,至今已經(jīng)有多個(gè)版本。ARM公司規(guī)劃該發(fā)展過(guò)程,使得在較早的架構(gòu)版本上編寫(xiě)的代碼也可以在后繼版本上執(zhí)行(即代碼的兼容性)。

          本文引用地址:http://www.ex-cimer.com/article/201611/315561.htm

          1.1.1 命名規(guī)則
          早期ARM使用如圖1.1所示的命名規(guī)則來(lái)描述一個(gè)處理器。在“ARM”后的字母和數(shù)字表明了一個(gè)處理器的功能特性。隨著更多特性的增加,字母和數(shù)字的組合可能會(huì)改變。注意:命名規(guī)則不包含體系結(jié)構(gòu)(ISA)的版本信息。

          ARM {x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{-S}
          x——系列
          y——存儲(chǔ)管理/保護(hù)單元
          z——cache
          T——Thumb 16位譯碼器
          D——JTAG調(diào)試器
          M——快速乘法器
          I——嵌入式跟蹤宏單元
          E——增強(qiáng)指令(基于TDMI)
          J——Jazelle
          F——向量浮點(diǎn)單元
          S——可綜合版本
          圖1.1 早期ARM命名規(guī)則

          關(guān)于ARM命名法則,還有一些附加的要點(diǎn):
          ? ARM7TDMI之后的所有ARM內(nèi)核,即使“ARM”標(biāo)志后沒(méi)有包含那些字符,也都包括了TDMI功能特性。
          ? 處理器系列是共享相同硬件特性的一組處理器具體實(shí)現(xiàn)。例如,ARM7TDMI、ARM740T和ARM720T都共享相同的系列特性,都屬于ARM7系列。
          ? JTAG是由IEEE1149.1標(biāo)準(zhǔn)測(cè)試訪問(wèn)端口(Standard Test Access
          Port)和邊界掃描結(jié)構(gòu)來(lái)描述的。它是ARM用來(lái)發(fā)送和接收處理器內(nèi)核與測(cè)試儀器之間調(diào)試信息的一系列協(xié)議。
          ? 嵌入式ICE宏單元(EmbeddedICE macrocell)是建立在處理器內(nèi)部用來(lái)設(shè)置斷點(diǎn)和觀察點(diǎn)的調(diào)試硬件。
          ? 可綜合的——意味著處理器內(nèi)核是以源代碼形式提供的,這種源代碼形式又可以被編譯成一種易于EDA工具使用的形式。

          隨著近年來(lái)ARM架構(gòu)的產(chǎn)品爆炸性地涌入市場(chǎng),以及對(duì)于維護(hù)架構(gòu)一致性的高層次的要求,ARM重新組織了ARM架構(gòu)的規(guī)范,定義了以ARM v7架構(gòu)的Cortex系列。

          1.1.2 ARM處理器系列
          ARM公司設(shè)計(jì)了許多處理器,它們可以根據(jù)使用的不同內(nèi)核劃分到各個(gè)系列中。系列劃分是基于ARM7、ARM9、ARM10、ARM11和Cortex內(nèi)核。后綴數(shù)字7、9、10和11表示不同的內(nèi)核設(shè)計(jì)。數(shù)字的升序說(shuō)明性能和復(fù)雜度的提高。ARM8開(kāi)發(fā)出來(lái)以后很快就被取代了。
          在每個(gè)系列中,存儲(chǔ)器管理、cache和TCM處理器擴(kuò)展也有多種變化。ARM繼續(xù)在可用的產(chǎn)品系列和每個(gè)系列內(nèi)部的不同變種兩方面做進(jìn)一步開(kāi)發(fā)。
          表1.1總結(jié)了各種處理器的不同功能特性。值得注意的是,指令集架構(gòu)(
          ISA)是體現(xiàn)CPU核性能特點(diǎn)的重要因素,如采用v5TEJ架構(gòu)的ARM926EJ-S與采用v4T架構(gòu)的
          ARM920T處理器,在相同的工作頻率下,前者的處理能力要高得多。

          表1.1 ARM處理器不同功能特性


          a: E擴(kuò)展提供了增強(qiáng)的乘法指令和飽和運(yùn)算指令(DSP

          1.1.2.1 ARM7系列
          ARM7內(nèi)核是馮?諾伊曼體系結(jié)構(gòu),數(shù)據(jù)和指令使用同一條總線。內(nèi)核有一條3級(jí)流水線,執(zhí)行ARMv4指令集。
          ARM7TDMI是ARM公司于1995年推出的新系列中的第一個(gè)處理器內(nèi)核。是目前一個(gè)非常流行的內(nèi)核,已被用在許多32位嵌入式處理器上。它提供了非常好的性能——功耗比。ARM7TDMI處理器內(nèi)核已經(jīng)許可給許多世界頂級(jí)半導(dǎo)體公司,它是第一個(gè)包括Thumb指令集、快速乘法指令和嵌入式ICE調(diào)試技術(shù)的內(nèi)核。
          ARM7系列中一個(gè)重要的變化是ARM7TDMI-S。ARM7TDMI-S與標(biāo)準(zhǔn)ARM7TDMI有相同的操作特性,但它是可綜合的(見(jiàn)2.6.1小節(jié))。
          ARM720T是ARM7系列中最具靈活性的成員,因?yàn)樗艘粋€(gè)MMU。MMU的存在意味著ARM720T能夠處理Linux和Microsoft嵌入式操作系統(tǒng)(如WinCE)。這一處理器還包括了一個(gè)8KB的統(tǒng)一cache(指令/數(shù)據(jù)混合cache)。向量表可以通過(guò)設(shè)置一個(gè)協(xié)處理器15(CP15)寄存器來(lái)重定位到更高的地址。
          另一個(gè)成員是ARM7EJ-S處理器,它也是可綜合的。ARM7EJ-S與其他ARM7處理器有很大不同,因?yàn)樗幸粭l5級(jí)流水線,并且執(zhí)行ARMv5TEJ指令。這個(gè)版本是ARM7中唯一一個(gè)提供java加速和增強(qiáng)指令,而沒(méi)有任何存儲(chǔ)器保護(hù)的處理器。

          1.1.2.2 ARM9系列
          ARM9系列于1997年問(wèn)世。由于采用了5級(jí)指令流水線,ARM9處理器能夠運(yùn)行在比ARM7更高的時(shí)鐘頻率上,提高了處理器的整體性能。存儲(chǔ)器系統(tǒng)根據(jù)哈佛體系結(jié)構(gòu)重新設(shè)計(jì),區(qū)分了數(shù)據(jù)D和指令I(lǐng)總線。
          ARM9系列的第一個(gè)處理器是ARM920T,它包含獨(dú)立的D+I
          cache和一個(gè)MMU。這個(gè)處理器能夠被用在要求有虛擬存儲(chǔ)器(虛存)支持的操作系統(tǒng)上。ARM922T是ARM920T的變種,只有一半大小的D+I cache。
          ARM940T包括一個(gè)更小的D+I cache和一個(gè)MPU。它是針對(duì)不要求運(yùn)行平臺(tái)操作系統(tǒng)的應(yīng)用而設(shè)計(jì)的。ARM920T和ARM940T都執(zhí)行v4T架構(gòu)指令。
          ARM9系列的下一個(gè)處理器是基于ARM9E-S
          內(nèi)核的。這個(gè)內(nèi)核是ARM9內(nèi)核帶有E擴(kuò)展的一個(gè)可綜合版本。它有二個(gè)變種:ARM946E-S和ARM966E-S。兩者都執(zhí)行v5TE架構(gòu)指令。它們也支持可選的嵌入式跟蹤宏單元(ETM),它允許開(kāi)發(fā)者實(shí)時(shí)跟蹤處理器上指令和數(shù)據(jù)的執(zhí)行。當(dāng)調(diào)試對(duì)時(shí)間敏感(time-critical)的程序段時(shí),這種方法非常重要。
          ARM946E-S包括TCM、cache和一個(gè)MPU。TCM和cache的大小可配置。該處理器是針對(duì)要求有確定的實(shí)時(shí)響應(yīng)的嵌入式控制應(yīng)用而設(shè)計(jì)的。而ARM966E有可配置的TCM,但沒(méi)有MPU和cache擴(kuò)展。
          ARM9產(chǎn)品線的最新內(nèi)核是ARM926EJ-S可綜合的處理器內(nèi)核,發(fā)布于2000年。它是針對(duì)小型便攜式j(luò)ava設(shè)備,諸如3G手機(jī)和個(gè)人數(shù)字助理(PDA)應(yīng)用而設(shè)計(jì)的。ARM926EJ-S是第一個(gè)包含Jazelle技術(shù)(可加速java字節(jié)碼的執(zhí)行)的ARM處理器內(nèi)核。它還有一個(gè)MMU、可配置的TCM,以及具有零或非零等待存儲(chǔ)器的D+I
          cache。

          1.1.2.3 ARM10系列
          ARM10發(fā)布于1999年,主要是針對(duì)高性能的設(shè)計(jì)。它把ARM9的流水線擴(kuò)展到6級(jí),也支持可選的向量浮點(diǎn)單元(VFP),它對(duì)ARM10的流水線加入了第7段。VFP明顯提高了浮點(diǎn)運(yùn)算的性能,并與IEEE754.1985浮點(diǎn)標(biāo)準(zhǔn)兼容。
          ARM1020E是第一個(gè)使用ARM10E內(nèi)核的處理器。像ARM9E一樣,它包括了增強(qiáng)的E指令。它有獨(dú)立的32KB D+I
          cache、可選向量浮點(diǎn)單元(VFP),以及MMU。ARM1020E還有一個(gè)雙64位總線接口以提高性能。
          ARM1026EJ-S非常類似于ARM926EJ-S,但同時(shí)具有MPU和MMU。這一處理器具有ARM10的性能和ARM926EJ-S的靈活性。

          1.1.2.4 ARM11系列
          ARM1136J-S發(fā)布于2003年,是針對(duì)高性能和高能效應(yīng)用而設(shè)計(jì)的。ARM1136J-S是第一個(gè)執(zhí)行ARMv6架構(gòu)指令的處理器。它集成了一條具有獨(dú)立的load-store和算術(shù)流水線的8級(jí)流水線。ARMv6指令包含了針對(duì)媒體處理的單指令流多數(shù)據(jù)流(SIMD)擴(kuò)展,特殊的設(shè)計(jì)以提高視頻處理性能。
          ARM1136JF-S就是為了進(jìn)行快速浮點(diǎn)運(yùn)算,而在ARM1136J-S增加了向量浮點(diǎn)單元。

          1.1.2.5 ARM Cortex系列
          ARM Cortex發(fā)布于2005年,為各種不同性能需求的應(yīng)用提供了一整套完整的優(yōu)化解決方案,該系列的技術(shù)劃分完全針對(duì)不同的市場(chǎng)應(yīng)用和性能需求。目前ARM
          Cortex定義了三個(gè)系列:

          Cortex-A系列:針對(duì)復(fù)雜OS和應(yīng)用程序(如多媒體)的應(yīng)用處理器。支持ARM、Thumb和Thumb-2指令集,強(qiáng)調(diào)高性能與合理的功耗,存儲(chǔ)器管理支持虛擬地址。

          Cortex-R系列:針對(duì)實(shí)時(shí)系統(tǒng)的嵌入式處理器。支持ARM、Thumb和Thumb-2指令集,強(qiáng)調(diào)實(shí)時(shí)性,存儲(chǔ)器管理只支持物理地址。

          Cortex-M系列:針對(duì)價(jià)格敏感應(yīng)用領(lǐng)域的嵌入式處理器,只支持Thumb-2指令集,強(qiáng)調(diào)操作的確定性,以及性能、功耗和價(jià)格的平衡。

          這些系列曾在ARMv7發(fā)展過(guò)程中被正式介紹過(guò),A系列和R系列就已經(jīng)隱式地出現(xiàn)在早期的版本中了,以及虛擬存儲(chǔ)系統(tǒng)架構(gòu)(VMSA)和保護(hù)存儲(chǔ)系統(tǒng)架構(gòu)(PMSA)。
          到目前為止,Cortex系列正式發(fā)布的版本為Cortex-A8、Cortex-R4和Cortex_M3,他們?nèi)繉?shí)現(xiàn)了Thumb-2指令集(或子集),可滿足不同的性能、價(jià)格市場(chǎng)需求。

          ARM
          Cortex-M3不支持ARM指令集,支持的指令集包括ARMv6的大部分16位Thumb指令和ARMv7的Thumb-2指令集。Thumb-2指令集是一個(gè)16/32位混合指令系統(tǒng)。Cortex-M3支持的16位、32位Thumb指令

          要使用低成本的32位處理器,開(kāi)發(fā)人員面臨兩種選擇,基于Cortex-M3內(nèi)核或者ARM7TDMI內(nèi)核的處理器。如何做出選擇?選擇標(biāo)準(zhǔn)又是什么?本文主要介紹了ARM Cortex-M3內(nèi)核微控制器區(qū)別于ARM7的一些特點(diǎn),幫助您快速選擇。

            1.ARM實(shí)現(xiàn)方法

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

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

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

            2.兩者差異

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

            3.指令集

            ARM7可以使用ARM和Thumb兩種指令集,而Cortex-M3只支持最新的Thumb-2指令集。這樣設(shè)計(jì)的優(yōu)勢(shì)在于:
            ●免去Thumb和ARM代碼的互相切換,對(duì)于早期的處理器來(lái)說(shuō),這種狀態(tài)切換會(huì)降低性能。
            ●Thumb-2指令集的設(shè)計(jì)是專門(mén)面向C語(yǔ)言的,且包括If/Then結(jié)構(gòu)(預(yù)測(cè)接下來(lái)的四條語(yǔ)句的條件執(zhí)行)、硬件除法以及本地位域操作。
            ●Thumb-2指令集允許用戶在C代碼層面維護(hù)和修改應(yīng)用程序,C代碼部分非常易于重用。
            ●Thumb-2指令集也包含了調(diào)用匯編代碼的功能:Luminary公司認(rèn)為沒(méi)有必要使用任何匯編語(yǔ)言。
            ●綜合以上這些優(yōu)勢(shì),新產(chǎn)品的開(kāi)發(fā)將更易于實(shí)現(xiàn),上市時(shí)間也大為縮短。

            4.中斷

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

            NVIC使用的是基于堆棧的異常模型。在處理中斷時(shí),將程序計(jì)數(shù)器,程序狀態(tài)寄存器,鏈接寄存器和通用寄存器壓入堆棧,中斷處理完成后,在恢復(fù)這些寄存器。堆棧處理是由硬件完成的,無(wú)需用匯編語(yǔ)言創(chuàng)建中斷服務(wù)程序的堆棧操作。
          中斷嵌套是可以是實(shí)現(xiàn)的。中斷可以改為使用比之前服務(wù)程序更高的優(yōu)先級(jí),而且可以在運(yùn)行時(shí)改變優(yōu)先級(jí)狀態(tài)。使用末尾連鎖(tail-chaining)連續(xù)中斷技術(shù)只需消耗三個(gè)時(shí)鐘周期,相比于32個(gè)時(shí)鐘周期的連續(xù)壓、出堆棧,大大降低了延遲,提高了性能。

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

            5.睡眠

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

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

            6.存儲(chǔ)器保護(hù)單元

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

            7.調(diào)試

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

            8.應(yīng)用范圍

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

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

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

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

            Luminary、STMicroelectronics這兩家公司已經(jīng)有基于Cortex-M3的芯片,其他公司如NXP、Atmel也宣布生產(chǎn)該類產(chǎn)品。

            9.配套工具

            ARM7應(yīng)用已經(jīng)非常普及,它已經(jīng)有非常多第三方的開(kāi)發(fā)和調(diào)試工具支持。在ARM的網(wǎng)站上有超過(guò)130家工具公司名稱列表。
            
            大多數(shù)廠商提供了基本的開(kāi)發(fā)板,并提供下載程序的接口、調(diào)試工具以及外部設(shè)備的驅(qū)動(dòng),包括LED燈的顯示狀態(tài)或者屏幕上的單行顯示。通常,開(kāi)發(fā)套件包括編譯器、一些調(diào)試軟件以及開(kāi)發(fā)板。更為高級(jí)的套件包括第三方的集成開(kāi)發(fā)環(huán)境(IDE),IDE中包含編譯器、鏈接器、調(diào)試器、編輯器和其他工具,也可能包括仿真硬件,比如說(shuō)JTAG仿真器。內(nèi)電路仿真器(ICE)是最早的也是最有用的調(diào)試工具形式之一,很多廠商都在ARM7上提供了這一接口。

            軟件開(kāi)發(fā)工具范圍很廣:從建模到可視化設(shè)計(jì),到編譯器?,F(xiàn)在很多的產(chǎn)品也用到實(shí)時(shí)操作系統(tǒng)(RTOS)和中間件,以加速開(kāi)發(fā)進(jìn)程、降低開(kāi)發(fā)難度。另外,還有一個(gè)非常重要的因素,很多的開(kāi)發(fā)人員對(duì)ARM7的開(kāi)發(fā)經(jīng)驗(yàn)非常豐富。
          雖然現(xiàn)在已經(jīng)有新興的Cortex-M3工具,但顯然還是有一定的差距。不過(guò),Cortex-M3的集成調(diào)試性能使調(diào)試變得簡(jiǎn)單且有效,且無(wú)需用到內(nèi)電路仿真器ICE。

            10.決策

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

            由于Cortex-M3內(nèi)核中的多種集成元素以及采用Thumb-2指令集,其開(kāi)發(fā)和調(diào)試比ARM7TDMI要簡(jiǎn)單快捷。然而,由于重定義ARM7TDMI的應(yīng)用不是一件困難的事,特別是在使用了RTOS的情況下。保守者可能會(huì)沿用ARM7TDMI內(nèi)核的芯片,并避免使用那些會(huì)使重定義變得復(fù)雜的功能。

            IAR Systems公司是最早做C編譯器的廠商,提供一系列ARM開(kāi)發(fā)工具,包括IAR visualSTATE 建模工具、IAR Embedded Workbench for ARM集成開(kāi)發(fā)環(huán)境、IAR PowerPac實(shí)時(shí)操作系統(tǒng)和中間件、J-Link硬件仿真工具以及開(kāi)發(fā)套件。不管用戶的選擇是ARM7還是Cortex-M3,IAR都會(huì)讓開(kāi)發(fā)變得簡(jiǎn)單而有趣。



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

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();