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