新聞中心

ARM小記

作者: 時間:2011-02-21 來源:網(wǎng)絡(luò) 收藏

ARM何物
ARM(AdvancedRISCMachines,進階精簡指令集機器),如果你一直把這個單詞讀成“A”-“R”-“M”,那么將有一個好消息和一個壞消息要告訴你。好消息是:你這是初次接觸到ARM技術(shù)相關(guān)的文章,而本文內(nèi)容正是專為你量身打造的,無論你是嵌入式系統(tǒng)的門外漢還是技術(shù)的初學(xué)者,都可以通過本文輕松地了解ARM技術(shù)。請相信我,這并不困難!壞消息是:我很抱歉的告訴你,它的正確讀法應(yīng)該是“arm”,是手臂、胳膊的英文發(fā)音。很出丑是不是?但除非你是在大聲朗讀,不然沒人會知道的。你又多了一個知識和一個不可告人的秘密。調(diào)整一下心態(tài),我們的故事就從這里開始吧!


1990年,有一家高科技公司在美麗的英國安了家,公司是由一群先知先覺的工程師組成的,他們致力于一種新的CPU體系結(jié)構(gòu)的設(shè)計。他們想讓這款CPU的性能更為出色,有精簡的指令集(可以理解成給CPU發(fā)出命令的咒語,當(dāng)然是越簡單越好了)和較低的功耗(適合在需要高速度運算又采用電池充電的設(shè)備當(dāng)中使用)。當(dāng)時傳統(tǒng)的電腦CPU發(fā)熱量大,需要使用風(fēng)扇散熱,這確實很不方便,至少我不希望我的智能手機看上去像電吹風(fēng)。所以,他們夜以繼日的開發(fā),努力實現(xiàn)這個偉大構(gòu)想。終于,他們成功了!大家興高采烈地為這款新的處理器結(jié)構(gòu)取了一個響亮的名字——AdvancedRISCMachines,簡稱ARM。有趣的是這家公司的名字也是AdvancedRISCMachinesLtd.,簡稱ARM,不得不說他們當(dāng)初成立公司時的偉大目標(biāo)現(xiàn)在實現(xiàn)了,可是這個巧合里面有什么精彩秘密呢?其實早在我出生的前一年——1983年,一家名為Acorn的電腦公司就已經(jīng)開始著手開發(fā)精簡指令集的32位微處理器。在我1歲的時候——1985年,該公司已經(jīng)研發(fā)出了ARM1處理器,一年之后又推出了ARM2處理器并批量生產(chǎn),之后不久又推出了ARM3處理器。這個時候已經(jīng)大名鼎鼎的蘋果公司看到了商機,于是想和Acorn公司合作開發(fā)。后來雙方研究決定另外開設(shè)一家新公司,專門設(shè)計、研發(fā)精簡指令集處理器。于是才有了前面提到的ARM公司的成立。ARM公司成立之后所研發(fā)的是ARM6型處理器結(jié)構(gòu),推出之后就被自己的兩個東家(蘋果和Acorn公司)應(yīng)用在其新款的產(chǎn)品上?,F(xiàn)在好了,我們的ARM處理器結(jié)構(gòu)誕了。一開始ARM公司的處理器自產(chǎn)、自用,可是隨后吸引了一大批世界級的芯片生產(chǎn)廠商(也可能是ARM公司邀請他們過來的,誰知道呢)。這些大廠商們正在為處理器市場的弊端而發(fā)愁,所以很快雙方建立了合作,即ARM公司自己不生產(chǎn)芯片,而是出售其ARM處理器結(jié)構(gòu)的設(shè)計方案,各大芯片生產(chǎn)廠商根據(jù)設(shè)計方案來生產(chǎn)ARM結(jié)構(gòu)的處理器芯片。這是一樁一本萬利的生意,各大廠商每生產(chǎn)一片ARM體系結(jié)構(gòu)的處理器,就要向ARM公司支付一筆知識產(chǎn)權(quán)費用。僅是出售一套現(xiàn)有的內(nèi)核方案就需要至少20萬美元,如果還需要特殊修改服務(wù)則更是需要上千萬美元。ARM公司也在不斷的升級、完善自己的產(chǎn)品以占據(jù)更多的市場份額。目前的32位微處理器市場上,ARM體系結(jié)構(gòu)的產(chǎn)品已經(jīng)占到7成以上,而且還在增長。ARM公司身體力行,用實踐證明了“知識就是財富”這句話的真實性。當(dāng)然,這還要是在嚴(yán)格保護知識產(chǎn)權(quán)、嚴(yán)厲打擊盜版的國家和地區(qū)才行。
話分兩頭,單表買家。ARM處理器結(jié)構(gòu)被各大芯片廠商采用,制作出高性能、低功耗的理器,然后推向市場(通常我們叫它“ARM處理器”,還有叫“ARM的”)。這些廠家里包括三星電子(SAMSUNG)、飛思卡爾(Freescale,摩托羅拉旗下公司)、思睿邏輯(CirrusLogic)、愛特梅爾(ATMEL)、恩智浦(NXP,飛利浦旗下公司)、國際商業(yè)機器公司(IBM)、德州儀器(TI)、富士通(FUJITSU)和任天堂等,相信這些公司不是腦門發(fā)熱的家伙,它們選擇ARM一定有更長遠的考慮。
處理器行業(yè)方興未艾,每天都會有新的技術(shù)和方案來滿足我們的需求。在低端市場有51等8位處理器來滿足我們制作流水燈、電子鐘之類的作品,更可以作為控制類產(chǎn)品的開發(fā)。它們結(jié)構(gòu)簡單、價格便宜、易學(xué)易用,是目前電子愛好者熱衷的玩藝兒。在高端市場,由x86結(jié)構(gòu)的32位或64位的處理器來構(gòu)成我們PC機的核心部分。它們性能極高、速度飛快,一邊看電影一邊聊QQ都不在話下。
而一些需要電池供電的手持設(shè)備上,如智能手機、高級游戲機、數(shù)碼相機、掌上電腦等消費類電子產(chǎn)品卻需要一款中端類型的處理器。ARM不是唯一的選擇,但卻是最好的選擇。蘋果的iPod、諾基亞N93、索愛K系列手機、戴爾的PDA電腦、任天堂的掌上游戲機、多普達的智能手機、還有國內(nèi)的一些山寨版電子產(chǎn)品上無不用到ARM的處理器。同時在世界范圍內(nèi)的嵌入式行業(yè)也刮起了一股ARM的流行風(fēng),ARM的學(xué)習(xí)教程、開發(fā)實驗板、開發(fā)工具、仿真軟件日新月異、層出不窮。許多80的研發(fā)公司也開始向ARM轉(zhuǎn)型,而原本學(xué)習(xí)80的技術(shù)人員和愛好者也開始追趕流行,開始學(xué)習(xí)ARM技術(shù)。我個人認(rèn)為這種“追趕時尚”多少存在一些非理性和麻木的因素。單片機行業(yè)真的要從8位轉(zhuǎn)向32位嗎?ARM全面取代8051是未來市場的趨勢嗎?作為單片機初學(xué)者的你應(yīng)該怎么辦,是緊跟時代脈動,還是專心一門技術(shù)?以我個人拙見,根本沒有選擇的必要,下文中再與你細(xì)聊。
ARM最好的選擇,但不是唯一的選擇,與之競爭的對手也非等閑之輩。最有名的當(dāng)屬英特爾公司出品的XScale處理器(芯片是在2003年前后推出的,2006年英特爾退出嵌入式領(lǐng)域,將XScale處理器部門賣給了Marvell公司),XScale系列處理器從早期英特爾生產(chǎn)的PXA255、XA270到現(xiàn)在Marvell公司生產(chǎn)的PXA300、PXA310、PXA320,從性能上看都相當(dāng)優(yōu)秀。XScale處理器曾被應(yīng)用在掌上電腦和智能手機上(如MOTOE680)。有趣的是,XScale處理器也是在ARMV5TE核心的基礎(chǔ)上改進而成的。另外還有飛思卡爾公司的ColdFire(冷火)處理器架構(gòu)、AIM聯(lián)盟(蘋果、IBM、摩托羅拉的聯(lián)盟)所研發(fā)的PowerPC微處理器架構(gòu),以及MIPS技術(shù)公司的MIPS32和MIPS64處理器架構(gòu)。另外還有像AVR32等新型處理器不斷推出,這些都是32位嵌入式微處理器,這里就不一一介紹了。表1列出了ARM處理器的系列和應(yīng)用。請注意表中“應(yīng)用”這一列,也許你會發(fā)現(xiàn)一些熟知的電子產(chǎn)品。之前你在使用它們的時候并沒有去想它們的處理器是什么,因為這個問題顯得相當(dāng)神秘,現(xiàn)在你知道了,原來那些看似復(fù)雜的產(chǎn)品都有一顆ARM“心”。
最近看到一條新聞,基于ARM處理器的上網(wǎng)本(見圖2)將在2010年6月份推出。但因為微軟公司的Windows操作系統(tǒng)不支持ARM處理器,所以ARM處理器的上網(wǎng)本將會使用Linux等操作系統(tǒng)。這條新聞預(yù)示著ARM開始進軍上網(wǎng)本市場,以其特有的實力將筆記本電腦變得更輕巧,未來的智能產(chǎn)品將會超出現(xiàn)在的想象。ARM還可以創(chuàng)造多少奇跡?讓我們拭目以待吧。



學(xué)習(xí)指南
許多朋友想學(xué)習(xí)ARM,可是又不知道該從何入手。想聽聽我的傳奇經(jīng)歷嗎?那是大學(xué)三年級離畢業(yè)之前,我在哈爾濱的電子市場看到了一款LPC2200處理器(飛利浦公司的ARM處理器產(chǎn)品)的開發(fā)板(見圖3),這是飛利浦旗下的一款A(yù)RM處理器,帶一個真彩液晶屏,開機時很炫酷,隨板又贈送一本ARM基礎(chǔ)教程。當(dāng)時很開心,在還沒把8051學(xué)出什么名堂的時候,就開始想轉(zhuǎn)戰(zhàn)ARM技術(shù)。當(dāng)時這款產(chǎn)品要價2000元,我反復(fù)掙扎了很久,最后還是壓不住沖動的性子,把它買了下來。當(dāng)時向債主爸爸許諾,一定在短期之內(nèi)把ARM學(xué)好。我還真是下了狠心,在各位同學(xué)紛紛準(zhǔn)備畢業(yè)設(shè)計論文的時候,我正抱著一本ARM基礎(chǔ)教程的書反復(fù)研究。當(dāng)時還沒有什么好的ARM技術(shù)論壇,21IC論壇上水太深,也不敢隨便冒泡。就這樣,短暫又美好的大學(xué)時光過去了,那時我已經(jīng)自認(rèn)為對ARM技術(shù)有了一定的了解。


書中主要講述ARM7TDMI的系統(tǒng)結(jié)構(gòu)及原理,枯燥且難理解。如果是現(xiàn)在,我都懶得翻這種書,可當(dāng)時卻是朝圣般地研讀。當(dāng)時感覺ARM是一個結(jié)構(gòu)非常復(fù)雜的微處理器,它是32位處理器,是一個超級單片機,要了解ARM的內(nèi)核結(jié)構(gòu),精簡指令集的使用,還要學(xué)習(xí)匯編語言,最后就是學(xué)習(xí)一個叫μC/OS-II的操作系統(tǒng)??偠灾獙W(xué)的內(nèi)容比8051復(fù)雜,設(shè)計制作也就更難?;叵肫饋?,對當(dāng)時學(xué)過的內(nèi)容已沒有什么印象了。
轉(zhuǎn)機出現(xiàn)在南下求職中。畢業(yè)之后許多同學(xué)留在了哈爾濱,而我卻選擇只身一人南下深圳,因為那里的電子行業(yè)發(fā)達,如果可以找到一家好公司可以學(xué)到很多經(jīng)驗。和我一樣想法的人應(yīng)該很多,可是最后的遭遇也各不相同,我還是比較幸運的,找到一家很不錯的嵌入式系統(tǒng)研發(fā)公司,老板對我也很好。我在那里從測試員做起,然后做到技術(shù)支持工程師,最后是產(chǎn)品經(jīng)理。一路下來經(jīng)歷了許多有趣的事情,也從一個產(chǎn)品應(yīng)用的角度重新認(rèn)識了ARM。我覺得后來在工作經(jīng)驗中學(xué)到的ARM更成熟、更鮮活。
實踐中的ARM和書中的ARM完全不同。我要學(xué)習(xí)的內(nèi)容從內(nèi)核結(jié)構(gòu)變成了操作系統(tǒng),ARM的最大特點就是可以安裝嵌入式操作系統(tǒng),包括在ARM7上安裝μC/OS-II,在ARM9上安裝的WindowsCE、VxWorks和Linux。安裝了操作系統(tǒng)的ARM其實是更簡單。以應(yīng)用較廣泛的WindowsCE來說,我們要開發(fā)的USB接口、以太網(wǎng)之類的功能早就已經(jīng)模塊化了,可以直接加載使用。我們需要做的只是在用EVC編譯器制作一個主程序和用戶界面。
所以ARM已經(jīng)將強大的操作系統(tǒng)和底層硬件分隔開來,學(xué)習(xí)ARM其實是在學(xué)習(xí)操作系統(tǒng)。這就好像我們今天學(xué)習(xí)PC機的使用,其實主要是在學(xué)習(xí)Windows操作系統(tǒng)的使用一樣。學(xué)習(xí)ARM時如果從電腦軟件一端入手便會很容易,如果從單片機一端的硬件結(jié)構(gòu)開始,那么學(xué)習(xí)會困難一些——主要是思維方式不同,學(xué)習(xí)的難度就有不同。但并不是說不可以這樣學(xué)習(xí),把ARM處理器當(dāng)成沒有操作系統(tǒng)的超級單片機使用也是很好的選擇。市場上許多介紹ARM入門的書多是電子行業(yè)的資深人士,他們熟悉8051,當(dāng)ARM出現(xiàn)時習(xí)慣上將ARM處理器當(dāng)作高級版的單片機來看待,自然也就習(xí)慣性地從硬件入手教學(xué)。另一方面,現(xiàn)在已經(jīng)非常成熟的電腦軟件開發(fā)的專家,多是用VC來編寫電腦軟件,如果讓他們使用EVC(嵌入式VC)來開發(fā)嵌入式系統(tǒng)自然不在話下,可惜他們并沒有及時地進入這個領(lǐng)域。所以由電腦軟件專家編寫的嵌入式系統(tǒng)開發(fā)教程更是鳳毛麟角。嵌入式系統(tǒng)要想快速發(fā)展,就需要由懂得的硬件工程師和通曉電腦軟件開發(fā)的專家通力配合才能實現(xiàn)。目前業(yè)內(nèi)也都意識到了這一點,嵌入式系統(tǒng)的未來值得期待。
作為個人來講,無論你是單片機愛好者,還是電子技術(shù)應(yīng)用專業(yè)的在校大學(xué)生,在掌握8051應(yīng)用之后都應(yīng)該盡量學(xué)習(xí)一下ARM方面的知識。我個人推薦你學(xué)習(xí)三星電子公司出品的S3C2410或S3C2440處理器。它們是ARM9核心的,可以安裝WindowsCE和Linux操作系統(tǒng)。市場上的學(xué)習(xí)板價格也便宜,圖書和資料也相當(dāng)豐富。相信你會愛上圖型界面的開發(fā)的,那確實是很讓一個電子愛好者著迷的事情?,F(xiàn)在行業(yè)內(nèi)嵌入式系統(tǒng)的開發(fā)人才短缺,學(xué)好ARM也會對找工作大有好處。

小結(jié)
文章寫到這里,也許有的朋友已經(jīng)開始計劃學(xué)習(xí)ARM了。我的文章煽動性確實很強,可是面對自己的未來計劃應(yīng)該更理性、更冷靜的思考。首先ARM對于單純的電子愛好者而言并沒有單片機那么好玩。因為ARM處理器的價格較高,周邊的元器件也并不便宜。雖然用ARM可以開發(fā)一些智能化更高的產(chǎn)品(例如帶有彩色顯示屏的設(shè)備、以太網(wǎng)接口的設(shè)備等),但是做一個硬件制作下來需要幾百到幾千元,作為電子愛好者的DIY娛樂,確實是太奢侈了。所以多數(shù)學(xué)習(xí)ARM的人都是為了找到福利更好的工作,或者承接一些基于ARM的項目開發(fā)。如果你不是出于這兩種目的,對于ARM只了解就可以了。還有,ARM軟、硬件開發(fā)的復(fù)雜程度要比8位單片機高,如果8位單片機還沒有熟悉開發(fā)的時候就轉(zhuǎn)到ARM的學(xué)習(xí),其實是不理智的行為。玩轉(zhuǎn)ARM處理器除了過硬的單片機功底,還需要軟件開發(fā)的能力,ARM開發(fā)中有80%的工作都是在軟件層面上,如果你學(xué)過電腦軟件的開發(fā)(如VB、VC開發(fā)),也接觸過操作系統(tǒng)(如Windows、Linux),再學(xué)習(xí)ARM就會事半功倍了。雖然操作系統(tǒng)會讓開發(fā)變得更方便快速,可是花時間研究操作系統(tǒng)也是必須的。最后結(jié)束一句吧:ARM很流行,也要量力而行。



評論


相關(guān)推薦

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

關(guān)閉