ARM是英國(guó)的芯片設(shè)計(jì)公司,其最成功的莫過(guò)于32位嵌入式CPU核----ARM系列,最常用的是ARM7和ARM9,
ARM公司主要提供IP核,就是CPU的內(nèi)核結(jié)構(gòu),只包括最核心的部分,并不是完整的處理器. ARM把這個(gè)核賣給各大半導(dǎo)體公司,如Pllips ,三星,ATMEL ,Intel等。 ARM為了對(duì)付8位機(jī)市場(chǎng),最近推出了Cortex-M3核,STM32就是意大利的意法半導(dǎo)體基于Cortex-M3的32位嵌入式處理器, Cortex_M3核性價(jià)比更高,價(jià)格低,可以與8位單片機(jī)競(jìng)爭(zhēng),。
ARM Cortex-M3 處理器初探 單片機(jī)市場(chǎng)的規(guī)??梢杂?#8220;巨無(wú)霸”來(lái)形容,預(yù)計(jì)到2010時(shí)每年能有20G片的出貨量,。世界各地的器件供應(yīng)商紛紛亮出自己的得意之作,,他們提供的器件和架構(gòu)也是各具特色。業(yè)界內(nèi)部可謂是百花齊放,,熱鬧非凡,,好戲不斷。各行各業(yè)對(duì)單片機(jī)能力的要求也一直“得寸進(jìn)尺”,,而且還又要馬兒跑,,又要馬兒不吃草——處理器必須在不怎么增加主頻和功耗的條件下干更多的活兒。另一方面,,處理器之間的互連也在加深,, 看這一串串熟悉的字眼: 串口,,USB,以太網(wǎng),,無(wú)線數(shù)傳……處理器如欲支持這些數(shù)據(jù)通道,,就必須在片上塞進(jìn)更多的外設(shè)。軟件方面的情況也如出一轍:應(yīng)用程序的功能一直在花樣翻新,,性能需求也是變本加厲:更高的運(yùn)算速度,,更硬的實(shí)時(shí)能力,更多的功能模塊,,更炫的圖形界面,,……所有這些要求單片機(jī)都得照單全收。在這個(gè)大環(huán)境下,,ARM Cortex-M3處理器,,作為Cortex系列的處女作,為了讓32位處理器入主作莊單片機(jī)市場(chǎng),,轟轟烈烈地誕生了,!由于采用了最新的設(shè)計(jì)技術(shù),它的門數(shù)更低,,性能卻更強(qiáng),。許多曾經(jīng)只能求助于高級(jí)32位處理器或DSP的軟件設(shè)計(jì),都能在CM3上跑得很快很歡,。相信用不了多久,,CM3就一定能在32位嵌入式處理器市場(chǎng)中脫穎而出,像當(dāng)年8051推動(dòng)整個(gè)業(yè)界那樣,,再次放飛設(shè)計(jì)師的夢(mèng)想,,實(shí)現(xiàn)多年的夙愿! CM3的招牌功夫包括: • 性能強(qiáng)勁,。在相同的主頻下能做處理更多的任務(wù),,全力支持勁爆的程序設(shè)計(jì)。 • 功耗低,。延長(zhǎng)了電池的壽命——這簡(jiǎn)直就是便攜式設(shè)備的命門(如無(wú)線網(wǎng)絡(luò)應(yīng)用),。 • 實(shí)時(shí)性好。采用了很前衛(wèi)甚至革命性的設(shè)計(jì)理念,,使它能極速地響應(yīng)中斷,,而且響應(yīng)中斷所需的周期數(shù)是確定的。 • 代碼密度得到很大改善,。一方面力挺大型應(yīng)用程序,,另一方面為低成本設(shè)計(jì)而省吃儉用。 • 使用更方便。現(xiàn)在從8位/16位處理器轉(zhuǎn)到32位處理器之風(fēng)刮得越來(lái)越猛,,更簡(jiǎn)單的編程模型和更透徹的調(diào)試系統(tǒng),,為與時(shí)俱進(jìn)的人們大大減負(fù)。 • 低成本的整體解決方案,。讓32位系統(tǒng)比和8位/16位的還便宜,,低端的Cortex-M3單片機(jī)甚至還賣不到1美元。 • 遍地開(kāi)花的優(yōu)秀開(kāi)發(fā)工具,。免費(fèi)的,,便宜的,全能的,,要什么有什么。 降低成本還有一招,,就是使基礎(chǔ)代碼在所有系統(tǒng)中都可以重用,,至少要方便移植。CM的內(nèi)核架構(gòu)非常精工細(xì)作,,使它與C語(yǔ)言成為了一個(gè)夢(mèng)幻絕配,。優(yōu)質(zhì)的C程序代碼三下五除二就可以移植并重用,使升級(jí)和移植一下子從攔路虎變成了紙老虎,。 值得一提的是,,CM3并不是第一個(gè)被拿去做萬(wàn)金油型處理器的內(nèi)核。那廉頗雖老卻依然驍勇的ARM7/ARM9處理器,,在通用嵌入式處理器市場(chǎng)中德高望重,,至今擁有無(wú)數(shù)鐵桿粉絲。半導(dǎo)體業(yè)界的群英們,,像NXP(philips),、TI、Atmel,、OKI,、ST等,都以ARM為內(nèi)核,,做出了各自身懷絕技的32位MCU,。ARM7作為最受歡迎的32位嵌入式處理器,被載入了亮煌煌的幾頁(yè)史冊(cè)——每年超過(guò)10億片出貨量,,為各行各業(yè)的嵌入式設(shè)備中都找得到它們的身影,。 CM3作為ARM7的后繼者,大刀闊斧地改革了設(shè)計(jì)架構(gòu),。從而顯著地簡(jiǎn)化了編程和調(diào)試的復(fù)雜度,,處理能力也更加強(qiáng)大。除此之外,CM3還突破性地引入了很多時(shí)尚的甚至嶄新的技術(shù),,專門滿足單片機(jī)應(yīng)用程序的需求,。比如,服務(wù)于“使命‐關(guān)鍵”應(yīng)用的不可屏蔽中斷,,極度敏捷并且擁有確定性的嵌套向量中斷系統(tǒng),,原子性質(zhì)的位操作,還有一個(gè)可選的內(nèi)存保護(hù)單元,。這些令人驚艷和振奮的新特性,,讓老的ARM玩家們?cè)俅握业?#8220;初戀”時(shí)烈焰迸發(fā)的感覺(jué),也使萍水相逢就有激爽觸電般的體驗(yàn),!相信讀者一旦有機(jī)會(huì)用到了它,,就會(huì)為它的秀外慧中而贊嘆,愛(ài)不釋手,! Cortex-M3 處理器內(nèi)核 vs. 基于Cortex-M3的MCU Cortex‐M3處理器內(nèi)核是單片機(jī)的中央處理單元(CPU),。完整的基于CM3的MCU還需要很多其它組件。在芯片制造商得到CM3處理器內(nèi)核的使用授權(quán)后,,它們就可以把CM3內(nèi)核用在自己的硅片設(shè)計(jì)中,,添加存儲(chǔ)器,外設(shè),,I/O以及其它功能塊,。不同廠家設(shè)計(jì)出的單片機(jī)會(huì)有不同的配置,包括存儲(chǔ)器容量,、類型,、外設(shè)等都各具特色。本書(shū)主講處理器內(nèi)核本身,。如果想要了解某個(gè)具體型號(hào)的處理器,,還需查閱相關(guān)廠家提供的文檔。 一路走來(lái) 讓我們回頓一下ARM的進(jìn)化史,,你會(huì)知道為什么會(huì)有品種如此之多的ARM處理器和ARM架構(gòu),。ARM在1990年成立,當(dāng)初的名字是“Advanced RISC Machines Ltd.,”,,當(dāng)時(shí)它是三家公司的合資——它們分別是蘋果電腦,,Acorn電腦公司,以及VLSI技術(shù)(公司),。在1991年,,ARM推出了ARM6處理器家族,VLSI則是第一個(gè)吃螃蟹的人,。后來(lái),,陸續(xù)有其它巨頭:包括TI, NEC, Sharp, ST等,,都獲取了ARM授權(quán),它們真正地把ARM處理器大面積地輔開(kāi),,使得ARM處理器在手機(jī),,硬盤控制器,PDA,,家庭娛樂(lè)系統(tǒng)以及其它消費(fèi)電子中都大展雄才,。 現(xiàn)如今,ARM芯片的出貨量每年都比上一年多20億片以上,。不像很多其它的半導(dǎo)體公司,,ARM從不制造和銷售具體的處理器芯片。取而代之的,,是ARM把處理器的設(shè)計(jì)授權(quán)給相關(guān)的商務(wù)合作伙伴,,讓他們?nèi)ジ鶕?jù)自己的強(qiáng)項(xiàng)設(shè)計(jì)具體的芯片,這些伙伴可都是巨頭啊,?;贏RM低成本和高效的處理器設(shè)計(jì)方案,得到授權(quán)的廠商生產(chǎn)了多種多樣的的處理器,、單片機(jī)以及片上系統(tǒng)(SoC)。這種商業(yè)模式就是所謂的“知識(shí)產(chǎn)權(quán)授權(quán)”,。 除了設(shè)計(jì)處理器,,ARM也設(shè)計(jì)系統(tǒng)級(jí)IP和軟件IP。為了挺它們,,ARM開(kāi)發(fā)了許多配套的基礎(chǔ)開(kāi)發(fā)工具,、硬件以及軟件產(chǎn)品。使用這些工具,,合作伙伴可以更加舒心地開(kāi)發(fā)他們自己的產(chǎn)品,。 ARM的各種架構(gòu)版本 ARM十幾年如一日地開(kāi)發(fā)新的處理器內(nèi)核和系統(tǒng)功能塊。這些包括流行的ARM7TDMI處理器,,還有更新的高檔產(chǎn)品ARM1176TZ(F)‐S處理器,,后者能拿去做高檔手機(jī)。功能的不斷進(jìn)化,,處理水平的持續(xù)提高,,年深日久造就了一系列的ARM架構(gòu)。要說(shuō)明的是,,架構(gòu)版本號(hào)和名字中的數(shù)字并不是一碼事,。比如,ARM7TDMI是基于ARMv4T架構(gòu)的(T表示支持“Thumb指令”),; ARMv5TE架構(gòu)則是伴隨著ARM9E處理器家族亮相的,。 ARM9E家族成員包括ARM926E‐S和ARM946E‐S。ARMv5TE架構(gòu)添加了“服務(wù)于多媒體應(yīng)用增強(qiáng)的DSP指令”。 后來(lái)又出了ARM11,,ARM11是基于ARMv6架構(gòu)建成的,。基于ARMv6架構(gòu)的處理器包括ARM1136J(F)‐S,,ARM1156T2(F)‐S,,以及ARM1176JZ(F)‐S。ARMv6是ARM進(jìn)化史上的一個(gè)重要里程碑:從那時(shí)候起,,許多突破性的新技術(shù)被引進(jìn),,存儲(chǔ)器系統(tǒng)加入了很多的嶄新的特性,單指令流多數(shù)據(jù)(SIMD)指令也是從v6開(kāi)始首次引入的,。而最前衛(wèi)的新技術(shù),,就是經(jīng)過(guò)優(yōu)化的Thumb-2指令集,它專為低成本的單片機(jī)及汽車組件市場(chǎng),。 ARMv6的設(shè)計(jì)中還有另一個(gè)重大的決定:雖然這個(gè)架構(gòu)要能上能下,,從最低端的MCU到最高端的“應(yīng)用處理器”都通吃,但不能因此就這也會(huì),,那也會(huì),,但就是都不精。仍須定位準(zhǔn)確,,使處理器的架構(gòu)能勝任每個(gè)應(yīng)用領(lǐng)域,。結(jié)果就是,要使ARMv6能夠靈活地配置和剪裁,。對(duì)于成本敏感市場(chǎng),,要設(shè)計(jì)一個(gè)低門數(shù)的架構(gòu),讓她有極強(qiáng)的確定性,;另一方面,,在高端市場(chǎng)上,不管是要有豐富功能的還是要有高性能的,,都要有拿得出手的好東西,。 最近的幾年,基于從ARMv6開(kāi)始的新設(shè)計(jì)理念,,ARM進(jìn)一步擴(kuò)展了它的CPU設(shè)計(jì),,成果就是ARMv7架構(gòu)的閃亮登場(chǎng)。在這個(gè)版本中,,內(nèi)核架構(gòu)首次從單一款式變成3種款式,。 • 款式A:設(shè)計(jì)用于高性能的“開(kāi)放應(yīng)用平臺(tái)”——越來(lái)越接近電腦了 • 款式R:用于高端的嵌入式系統(tǒng),尤其是那些帶有實(shí)時(shí)要求的——又要快又要實(shí)時(shí),。 • 款式M:用于深度嵌入的,,單片機(jī)風(fēng)格的系統(tǒng)中——本書(shū)的主角,。 讓我們?cè)龠M(jìn)距離地考察這3種款式:
• 款式A(ARMv7‐A):需要運(yùn)行復(fù)雜應(yīng)用程序的“應(yīng)用處理器”支持大型嵌入式操作系統(tǒng)(不一定實(shí)時(shí)——譯注),比如Symbian(諾基亞智能手機(jī)用),,Linux,,以及微軟的Windows CE和智能手機(jī)操作系統(tǒng)Windows Mobile。這些應(yīng)用需要?jiǎng)疟奶幚硇阅?,并且需要硬件MMU實(shí)現(xiàn)的完整而強(qiáng)大的虛擬內(nèi)存機(jī)制,,還基本上會(huì)配有Java支持,有時(shí)還要求一個(gè)安全程序執(zhí)行環(huán)境(用于電子商務(wù)——譯注),。典型的產(chǎn)品包括高端手機(jī)和手持儀器,,電子錢包以及金融事務(wù)處理機(jī)。 • 款式R(ARMv7‐R):硬實(shí)時(shí)且高性能的處理器,。標(biāo)的是高端實(shí)時(shí)市場(chǎng),。那些高級(jí)的玩意,像高檔轎車的組件,,大型發(fā)電機(jī)控制器,,機(jī)器手臂控制器等,它們使用的處理 器不但要很好很強(qiáng)大,,還要極其可靠,,對(duì)事件的反應(yīng)也要極其敏捷。 • 款式M(ARMv7‐M):認(rèn)準(zhǔn)了舊世代單片機(jī)的應(yīng)用而量身定制,。在這些應(yīng)用中,,尤其是對(duì)于實(shí)時(shí)控制系統(tǒng),低成本,、低功耗、極速中斷反應(yīng)以及高處理效率,,都是至關(guān)重要的,。 Cortex系列是v7架構(gòu)的第一次亮相,其中Cortex‐M3就是按款式M設(shè)計(jì)的,。 到目前為止,,Cortex‐M3也是款式M中被撫養(yǎng)成人的獨(dú)苗。 |
|