|
|
| <!--插入廣告JS代碼--> |
在標(biāo)準(zhǔn)微控制器的世界中,ARM體系結(jié)構(gòu)在32位嵌入式RISC領(lǐng)域有著極大的影響力。就像在8位世界中8051的廣泛應(yīng)用一樣,在32位微控制器領(lǐng)域里ARM得到了特別的青睞,并幾乎成為了事實(shí)上的標(biāo)準(zhǔn)。
對(duì)系統(tǒng)性能需求的提高和嵌入式功能的發(fā)展是促使設(shè)計(jì)者向32位處理器轉(zhuǎn)變的一個(gè)原因;但是這種轉(zhuǎn)變最大的驅(qū)動(dòng)力還是來(lái)自于8位微控制器在其進(jìn)化過(guò)程中自身面臨的諸多局限和挑戰(zhàn)。
雖然8位微控制器將繼續(xù)領(lǐng)導(dǎo)標(biāo)準(zhǔn)產(chǎn)品市場(chǎng),但是很多公司為了延長(zhǎng)8位體系結(jié)構(gòu)生命周期的做法,給設(shè)計(jì)工程師在開(kāi)發(fā)產(chǎn)品時(shí)帶來(lái)了越來(lái)越多的困難。8/16位解決方案的供應(yīng)商近十年來(lái)以驚人的速度增加芯片上的外設(shè)、提高時(shí)鐘速度并擴(kuò)展架構(gòu)。
這雖然提高了性能,但使設(shè)計(jì)者的工作更困難、更昂貴。設(shè)計(jì)者現(xiàn)在必須面對(duì)每個(gè)新的衍生芯片的開(kāi)發(fā)工具,處理一系列不可預(yù)知的調(diào)試問(wèn)題。而隨著芯片時(shí)鐘的提高,其速度超過(guò)了在線(xiàn)仿真器的能力,在線(xiàn)仿真很難再對(duì)它們進(jìn)行調(diào)試。為了解決這一兩難境地,程序使用越來(lái)越多的存儲(chǔ)器,但是這種存儲(chǔ)器的增長(zhǎng)是建立在一個(gè)十分低效的架構(gòu)上面的。
價(jià)格/性能比的變化
從整個(gè)系統(tǒng)角度出發(fā),8位微控制器的傳統(tǒng)優(yōu)勢(shì)棗價(jià)格,也在衰退。夏普微電子的單片機(jī)市場(chǎng)經(jīng)理 Terry Thomas說(shuō):“雖然一個(gè)8位的單片機(jī)能夠處理家電的傳統(tǒng)控制功能,運(yùn)行電子游戲,用于一些PDA中,但如果你想使用一些新的市場(chǎng)要求的附加功能,如接入因特網(wǎng),大屏幕顯示等,就必須在PCB上增加額外的芯片!比欢@些功能在32位構(gòu)架的芯片上可以方便、低成本地用軟件實(shí)現(xiàn)。
甚至在芯片與芯片的之間的單價(jià)直接對(duì)比上,競(jìng)爭(zhēng)也開(kāi)始如火如荼。在最近的嵌入式系統(tǒng)會(huì)議期間,幾家公司同時(shí)展示了各種各樣的基于A(yíng)RM內(nèi)核的32位標(biāo)準(zhǔn)單片機(jī)。今天我們可以找到各種價(jià)格的ARM芯片。一個(gè)擁有ARM核的單片機(jī)平均價(jià)在4~5美元之間,這比先前平均8.50美元的價(jià)格有了很大的降幅。直逼傳統(tǒng)的51單片機(jī)。
各種市場(chǎng)力量匯聚在一起,是設(shè)計(jì)經(jīng)理們需要認(rèn)真考慮一下向32位構(gòu)架躍遷的時(shí)候了。通常有兩個(gè)問(wèn)題是他們比較關(guān)心的:第一,是否能得到高質(zhì)量的調(diào)試與開(kāi)發(fā)工具;第二,如何避免選用的體系結(jié)構(gòu)因?yàn)楦鞣N原因而失去強(qiáng)有力的工具支持。這些問(wèn)題曾經(jīng)是所有面向32位體系結(jié)構(gòu)的開(kāi)發(fā)人員面對(duì)的重要障礙。然而隨著基于A(yíng)RM內(nèi)核單片機(jī)的引入,所有問(wèn)題均迎刃而解。
我們現(xiàn)在可以很方便地找到很多用于A(yíng)RM內(nèi)核標(biāo)準(zhǔn)單片機(jī)的開(kāi)發(fā)工具,而更多的開(kāi)發(fā)工具將在不久之后出現(xiàn)。另一個(gè)令人放心的理由是ARM在A(yíng)SIC/SoC嵌入式市場(chǎng)上如此高的份額,這除了意味著ARM的體系結(jié)構(gòu)擁有龐大的開(kāi)發(fā)人員團(tuán)體外,還可以肯定第三方的開(kāi)發(fā)工具商將積極跟進(jìn)行業(yè)的領(lǐng)導(dǎo)者,并支持ARM。
向ARM轉(zhuǎn)移
隨著工具的發(fā)展和對(duì)ARM構(gòu)架越來(lái)越多的支持,設(shè)計(jì)者需要理解8位與32位ARM開(kāi)發(fā)環(huán)境的區(qū)別,以及調(diào)試和開(kāi)發(fā)工具如何處理它們。擴(kuò)展的指令集,存儲(chǔ)器構(gòu)架和片上調(diào)試環(huán)境是最先需要熟悉的。ARM 歐洲市場(chǎng)部經(jīng)理Bruce Beckloff說(shuō)“許多構(gòu)架上的差異已經(jīng)被開(kāi)發(fā)工具所掩蓋了,現(xiàn)在高效的C編譯器和強(qiáng)大的開(kāi)發(fā)工具將使這一轉(zhuǎn)變變得十分容易。”
雖然容易,但并不是不費(fèi)吹灰之力。學(xué)習(xí)新的指令集依然很重要,當(dāng)我們要編寫(xiě)緊湊、具有嚴(yán)格時(shí)間要求的代碼時(shí),我們?nèi)匀灰揽克鼈。在移植代碼時(shí)我們需要理解寄存器組,程序跳轉(zhuǎn)方案和指令級(jí)的中斷處理概念。但是在向ARM的轉(zhuǎn)移過(guò)程中我們已經(jīng)可以看到很多新的手法了。