ARM7和ARM9雙核平臺(tái)的技術(shù)分析
目前嵌入式系統(tǒng)教學(xué)平臺(tái)市場(chǎng)上的主導(dǎo)產(chǎn)品都是基于ARM7或ARM9架構(gòu)的,一般都認(rèn)為ARM7屬于低端產(chǎn)品、 ARM9屬于高端產(chǎn)品,也出現(xiàn)了所謂的“ARM7&ARM9覆蓋高端&低端的教學(xué)平臺(tái)”。宣傳“兩套 CPU 子板都是可以自由插拔,一套實(shí)驗(yàn)系統(tǒng)變化為兩套, ARM7 的實(shí)驗(yàn)系統(tǒng)可以實(shí)現(xiàn)基礎(chǔ)的 ARM 嵌入式教學(xué),主要包括指令實(shí)驗(yàn),基礎(chǔ)接口實(shí)驗(yàn), UCOS-II 操作系統(tǒng)實(shí)驗(yàn)和 uCLinux 操作系統(tǒng)實(shí)驗(yàn); ARM9 的實(shí)驗(yàn)系統(tǒng)可以實(shí)現(xiàn)高端的 ARM 嵌入式教學(xué),主要包括擴(kuò)展接口實(shí)驗(yàn), Linux 操作系統(tǒng)實(shí)驗(yàn)和 WinCE 操作系統(tǒng)實(shí)驗(yàn)。”
這種觀(guān)點(diǎn)有誤導(dǎo)用戶(hù)的嫌疑。因?yàn)锳RM9和ARM7同屬于A(yíng)RMv41,是屬于中低端系列的ARM微處理器。目前市場(chǎng)上真正高端的ARM架構(gòu)處理器是與ARMV5TE體系兼容的Intel XScale,如PXA255和PXA270。
從嵌入式系統(tǒng)教學(xué)平臺(tái)的發(fā)展來(lái)看,未來(lái)會(huì)形成兩個(gè)發(fā)展方向。即一方面向高端的XScale系列發(fā)展,主要面向計(jì)算機(jī)、軟件等專(zhuān)業(yè),這一類(lèi)高端平臺(tái)具有強(qiáng)大的計(jì)算能力和多媒體功能,教學(xué)內(nèi)容側(cè)重于操作系統(tǒng)、驅(qū)動(dòng)程序和軟件應(yīng)用,培養(yǎng)消費(fèi)電子、手持設(shè)備、無(wú)線(xiàn)網(wǎng)絡(luò)、手機(jī)游戲等領(lǐng)域的嵌入式軟件人才;另一方面就是ARM7/ARM9系列的中低端教學(xué)平臺(tái),主要面向電子工程、自動(dòng)化、儀器儀表等專(zhuān)業(yè),這類(lèi)平臺(tái)具有豐富的接口和功能,教學(xué)內(nèi)容側(cè)重于微處理器接口設(shè)計(jì)、驅(qū)動(dòng)開(kāi)發(fā)和系統(tǒng)應(yīng)用,培養(yǎng)工業(yè)自動(dòng)化、測(cè)控、智能儀表等應(yīng)用領(lǐng)域的嵌入式技術(shù)人才。
宣稱(chēng)采用兩種CPU子板的方式,實(shí)現(xiàn)ARM7&ARM9的功能,是完全沒(méi)有必要的,而且增加了用戶(hù)的成本的維護(hù)的復(fù)雜性,其原因如下:
1、從ARM體系結(jié)構(gòu)的教學(xué)內(nèi)容上看,ARM9的指令集完全兼容ARM7,教學(xué)上沒(méi)有任何區(qū)別。所以ARM指令實(shí)驗(yàn)和基礎(chǔ)接口實(shí)驗(yàn)不是ARM7的專(zhuān)利,做過(guò)ARM系統(tǒng)開(kāi)發(fā)的人都很清楚,用ARM9一樣可以完成ARM7的這些教學(xué)實(shí)驗(yàn)內(nèi)容;
2、從操作系統(tǒng)的教學(xué)內(nèi)容上看,目前教學(xué)中大都采用µCOS-II或Linux。µCOS-II代碼簡(jiǎn)單,易教易學(xué),Linux功能強(qiáng)大,但對(duì)學(xué)生的基礎(chǔ)要求較高。目前市場(chǎng)上大多數(shù)ARM7教學(xué)平臺(tái)都支持µCOS-II或uCLinux,ARM9基本上都支持Linux和WinCE。但µCOS-II不是 ARM7的專(zhuān)利,在A(yíng)RM9上完全可以運(yùn)行。而uClinux是Linux的一個(gè)子集,無(wú)論是從開(kāi)發(fā)著者的角度還是從教學(xué)的角度去理解,Linux系統(tǒng)可以完全兼容uCLinux的應(yīng)用。
宣稱(chēng)支持ARM7和ARM9的雙內(nèi)核,主要原因是因?yàn)樗麄兊募夹g(shù)能力較弱,無(wú)法完成µCOS- II 在A(yíng)RM9上的移植和擴(kuò)展工作,所以采用ARM7來(lái)彌補(bǔ)µCOS-II的教學(xué)內(nèi)容。試想,如果有一款A(yù)RM9平臺(tái),能夠運(yùn)行µCOS-II、Linux、 WinCE等操作系統(tǒng),我們?yōu)槭裁催€需要ARM7來(lái)畫(huà)蛇添足呢?事實(shí)上,這樣的平臺(tái)已經(jīng)有了,一些技術(shù)實(shí)力較強(qiáng)的公司已經(jīng)把µCOS-II移植到了 ARM9上,如UP-NETARM2410和UP-NETARM2410S等。
3、從硬件設(shè)計(jì)的教學(xué)內(nèi)容上看,支持ARM7和 ARM9的雙內(nèi)核的平臺(tái),造成了硬件資源的浪費(fèi),難以發(fā)揮ARM7和ARM9各自的優(yōu)勢(shì)。比如:用s3c44b0和s3c2410處理器作為ARM7和 ARM9的內(nèi)核,s3c2410平臺(tái)支持USB host和USB client,支持真彩色TFT LCD。而主平臺(tái)為了兼容s3c44b0,不得不使用256色STN的LCD;如果要想有USB host或者client接口,不得不使用其他芯片外擴(kuò)。這都會(huì)使ARM9處理器的功能受到限制,不能充分發(fā)揮ARM9處理器的性能。
4、從產(chǎn)品的成本的服務(wù)維護(hù)上看,采用支持ARM7和ARM9的雙內(nèi)核的平臺(tái),無(wú)疑會(huì)增加產(chǎn)品的成本,因?yàn)榻虒W(xué)平臺(tái)最貴的芯片就是微處理器和存儲(chǔ)器,而從教學(xué)角度看,這部分增加的成本是沒(méi)有意義的。如果從科學(xué)角度看,這種做法又浪費(fèi)資源,其性?xún)r(jià)比無(wú)不如一塊開(kāi)發(fā)板。此外,采用支持ARM7和ARM9的雙內(nèi)核的平臺(tái),降低了系統(tǒng)的可靠性,學(xué)生在實(shí)驗(yàn)過(guò)程中,會(huì)經(jīng)常切換兩種內(nèi)核,其損壞的概率會(huì)大大增加,增加后續(xù)維護(hù)成本。
由此可見(jiàn),僅僅一個(gè)ARM9平臺(tái)就可以同時(shí)滿(mǎn)足中低端教學(xué)的需求,額外添加ARM7去滿(mǎn)足低端教學(xué)任務(wù),只能認(rèn)為是畫(huà)蛇添足。平白增添了硬件成本,還限制了硬件平臺(tái)的擴(kuò)展。
嵌入式系統(tǒng)教學(xué)的目的應(yīng)該是為了讓學(xué)生學(xué)到一種嵌入式平臺(tái)開(kāi)發(fā)和設(shè)計(jì)的方法,其變化主要體現(xiàn)在運(yùn)行不同操作系統(tǒng)上,而不是硬件是否采用ARM7還是 ARM9上。教學(xué)思想應(yīng)是“授人以漁”,學(xué)生學(xué)到的是設(shè)計(jì)方法,將來(lái)不管是ARM7, ARM9,還是XScale,甚至包括MIPS、alpha、68k、powerpc等其它體系結(jié)構(gòu)的微處理器,對(duì)于一個(gè)優(yōu)秀的嵌入式系統(tǒng)工程師來(lái)說(shuō)都是一樣的。